让前端飞

JS作用域链&引用类型

2018-07-29  本文已影响2人  小7丁

一、立即执行函数表达式是什么?有什么作用?

(function(){ /* code */ }());

(function(){ /* code */ })();

二、求n!,用递归来实现。

function factorial(n){
    if(n === 0) {
      return 1
  }
    if(n === 1){
        return 1
    }
    return n * factorial(n - 1)
}
factorial(3)

三、写一个函数,返回参数的平方和?

   function sumOfSquares(){
      var result = 0
      for(var i=0; i<arguments.length; i++ ){
         result += arguments[i]*arguments[i]
    }
        return result
   }
   var result = sumOfSquares(2,3,4)
   var result2 = sumOfSquares(1,3)
   console.log(result)  //29
   console.log(result2)  //10

四、如下代码的输出?为什么?

var obj1 = {a:1, b:2};
var obj2 = {a:1, b:2};
console.log(obj1 == obj2);
console.log(obj1 = obj2);
console.log(obj1 == obj2);

false//因为obj1和obj2所指向的地址不相同
{a : 1,b :2}//将obj2赋值给obj1
true//由于上一步赋值,现在两个的地址相同

上一篇下一篇

猜你喜欢

热点阅读