JS小知识

来源:互联网 发布:三菱plcq系列编程手册 编辑:程序博客网 时间:2024/05/01 10:14

1、

(function(){    var a=b=1          //var a; b=1;})()console.log(typeof a === "undefined");//typeof a => "undefined"console.log(typeof b === "undefined");//typeof b => "number"// true//false

2、

function foo1(){   return {       bar:"hello"   };}function foo2(){   return {       bar:"hello"   };}console.log(foo1());console.log(foo2()); //{bar: "hello"} //{bar: "hello"}

3、

var arr1='john'.split("");var arr2=arr1.reverse();         var arr3="jones".split("");arr2.push(arr3);console.log(arr1.length+'-'+arr1.slice(-1));console.log(arr2.length+'-'+arr2.slice(-1));console.log(arr1);console.log(arr2);//5-j,o,n,e,s//5-j,o,n,e,s//["n", "h", "o", "j", Array(5)]//                     ["j", "o", "n", "e", "s"]//["n", "h", "o", "j", Array(5)]//                     ["j", "o", "n", "e", "s"]arr1===arr2      //true  arr2是经过arr1变换得到,所以两个数组相等


4、

console.log(0||1);      //1console.log(1||2);      //1console.log(0&&1);      //0console.log(1&&2);      //2

5、

var a={},b={key:'b'},c={key:'c'};a[b]=123;a[c]=456;console.log(a[b]); //456console.log(a[c]); //456console.log(a);


6、

var obj={_name:'tom',greeting:function(){return 'hello ' + this._name;}};var greeting = obj.greeting;console.log(obj.greeting());  //hello tom             //this指向objconsole.log(greeting());      //hello undefined       //this指向window window._name=undefined


7、实现一个sum函数,使得以下输出与预期的一致;

console.log(sum(2,3));   //预期输出 5console.log(sum(2)(3));  //预期输出 5function sum(a,b){   if(b!==null && b!==undefined){       return a+b;   }else{      return function(c){                  return a+c;               }   }}sum(2,3);     //5sum(2)(3);    //5   //需要返回的是一个函数,并且传递一个参数














原创粉丝点击