JS小知识

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);      //1
console.log(1||2);      //1
console.log(0&&1);      //0
console.log(1&&2);      //2

5、

var a={},b={key:'b'},c={key:'c'};
a[b]=123;
a[c]=456;

console.log(a[b]); //456
console.log(a[c]); //456
console.log(a);


6、

var obj={
	_name:'tom',
	greeting:function(){
		return 'hello ' + this._name;
	}
};

var greeting = obj.greeting;
console.log(obj.greeting());  //hello tom             //this指向obj
console.log(greeting());      //hello undefined       //this指向window window._name=undefined


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

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














  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值