首页 > 其他 > 详细

习题集

时间:2020-03-20 19:21:24      阅读:57      评论:0      收藏:0      [点我收藏+]

3月4日

new操作符具体干了什么呢?

1、创建一个空对象,并且this变量引用该对象,同时还继承了该函数的原型。

2、属性和方法被加入到this引用的对象中。

3、新创建的对象由this所引用,并且最后隐式的返回this。

 1 var obj = {}; 2 obj._proto_ = Base.prototype; 3 Base.call(obj); 

3月5日

1、怎样添加、移除、移动、复制、创建和查找节点?

a、创建新节点

createDocumentFragment()//创建一个DOM片段

createElement()//创建一个具体的元素

createTextNode()//创建一个文本节点

b、添加、移除、替换、插入

appendChild()//添加

removeChild()//移除

replaceChild()//替换

insertBefore()//插入

c、查找

getElementsByTagName()//通过标签名称

getElementsByName()//通过元素的Name属性的值

getElementsById()//通过元素Id,唯一性

2、二维数组的全排列组合。

技术分享图片

 1      function printArr(arr,n,res){
 2         for(var i = 0; i<arr[i].length;i++){              
 3             if(n == 0){                 
 4                   res = []
 5              }
 6              if(n<arr.length){                   
 7                   var _res = res.slice()                  
 8                    _res.push(arr[n][i])
 9                   if(n == arr.length-1){
10                         console.log(_res)
11                    }else{
12                         printArr(arr,n+1,_res)
13                     }
14                 }
15             }
16         }
17         // 测试:
18         var arr = [[1,2],[3,4],[5,6]]
19         printArr(arr,0)

3、打印青蛙跳台阶的所有方式

技术分享图片

 1 function step(n,res){
 2       if(n==0){
 3                 res=[]
 4        }
 5        var i=1
 6            while(i<3){
 7                if(n+i<=10){
 8                     var _res = res.slice()
 9                     _res.push(i);
10                     if(n+i == 10) {
11                         console.log(_res);
12                     }else{
13                         step(n+i, _res);
14                    }
15                }
16            i++;
17        }
18  }
19   step(0);

 3月6日

JavaScript中,有一个函数,执行时对象查找时,永远不会去查找原型,这个函数是?

hasOwnProperty

JavaScript中的hasOwnPrototype函数方法是返回一个布尔值,指出一个对象是否具有指定名称的属性。此方法无法检查该对象的原型链中是否具有该属性;该属性必须是对象本身的一个成员。

使用方法:

obj.hasOwnProperty(proName)

其中参数object是必选项。一个对象的实例。

proName是必选项。一个属性名称的字符串值。

Object.prototype.prop = ‘propsss‘;

var obj = {name:‘mrFan‘};
console.log(obj.hasOwnProperty(‘prop‘)); // false
console.log(obj.hasOwnProperty(‘name‘)); // true

如果object具有指定名称的属性,那么JavaScript中hasOwnProperty函数方法返回true,反之则返回false

3月8日

你如何获取浏览器URL中查询字符串的参数?

 1 function showWindowHref(){
 2             var sHref = ‘http://www.runoob.com/jquery/misc-trim.html?channelid=12333&name=xiaoming&age=23‘;
 3             var args = sHref.split(‘?‘)
 4             if(args[0]==sHref){
 5                 return ‘‘
 6             }
 7             var arr = args[1].split(‘&‘);
 8             var obj = {}
 9             for(var i =0;i<arr.length;i++){
10                 var arg = arr[i].split(‘=‘)
11                 obj[arg[0]]=arg[1]
12             }
13             return obj;
14         }
15         var href = showWindowHref()

技术分享图片

 3月9日

Doctype作用?严格模式与混杂模式如何区分?它们有何意义?

(1)声明位于文档中的最前面,处于标签之前。告知浏览器的解析器,用什么文档类型规范来解析这个文档

(2)严格模式的排版和js运作模式是以该浏览器支持的最高标准运行。

(3)在混杂模式中,页面以宽松的向后兼容的方式显示。模拟老式浏览器的行为以防止站点无法工作

(4)DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现

 3月10日

1 for(var i=0;i<5;i++){
2      setTimeout(function(){
3             console.log(i)//5个5
4     },i*1000)
5 }//如果想改成0,1,2,3,4 里面就要使用立即执行函数
//在Es5中,这样也会是可以的
//for(let i=0;i<5;i++){
      //setTimeout(function(){
             //console.log(i)//5个5
     //},i*1000)
 //}

 3月12日

 1 console.log(false==‘0‘)//true 2 console.log(false===‘0‘)//false 

在JavaScript中,有两套相等的运算符。三重相等运算符===的行为与任何传统的相等运算符相同:如果两侧的两个表达式具有相同的类型和相同的值,则计算为true。然而,双等号运算符在比较它们之前试图强制这些值。因此,通常使用===而不是==。对于!==和!=也是一样

3月13日

1  console.log("0||1="+(0||1))
2  console.log("1||2="+(1||2))
3  console.log("0&&1="+(0&&1))
4  console.log("1&&2="+(1&&2))

技术分享图片

 3月17日

 1 function fn(a,b){
 2 //请在此处输入一段代码,让a和b的值能够交换
 3 //注意:不允许借助其他变量
 4     a = a+b;
 5     b = a-b;
 6     a = a-b;
 7     console.log(a,b)//2,1
 8 }
 9 fn(1,2)
10 
11 //除了可以使用加减之外,也可以使用乘除,但是此时需要注意,a、b中不能
12 //有0
13 //乘除的实现方法为a=a*b;b=a/b;a=a/b;

 3月18日

1 var arr  =[]
2 arr[0] = ‘a‘
3 arr[1] = ‘b‘
4 arr.foo = ‘c‘
5 console.log(arr.length)//2
6 arr.length +=arr.foo.length
7  console.log(arr.length)//3

 3月19日

function course(name,age){
        console.log(age);//undefined
        console.log(arguments[1]);//undefined
        arguments[1] = 2;
        console.log(age);//undefined
        console.log(arguments[1]);//2
}
course(‘渡一教育‘)

 3月20日

1 var h5course = false;
2 var result = h5course/0;//NaN
3 if(result){
4      console.log(result*2+‘2‘+4)
5 }else{
6      console.log(111)
7      console.log(!result*2+‘2‘+4)//true*2+‘2‘+4  224
8 }

 

习题集

原文:https://www.cnblogs.com/yqyf/p/12421574.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!