JS 基础知识面试题目(一)

1.将一个变量放在外面和放在函数中的区别?

•将一个变量放在外面,一般称之为全局变量:当前页面内有效
•将一个变量放在一个函数中,一般称之为局部变量:只在函数内有效
•若定义的变量没使用var,则为全局变量

2.“==”和“===”的不同?

•==表示相等:只要值相等就可以了,数据类型不一定相等(会自动做类型转换)
•===表示全等于:比较的时候必须值和数据类型都相等才相等

3.

<script>
        var fun = function(){
            this.name = 'peter';

            return {
                name: 'jack'
            };
        }

        var p = new fun();
        console.log(p.name);
    </script>

    

  • 高级语言构造函数是没有return的
  • js比较特殊,js构造函数本身就是一个函数,所以拥有函数的一切的特性
  • 如果return一个对象,则new的时候返回的是return的对象

<script>
        var fun2 = function(){
            this.name = 'peter';
            return 'jack';
        }
        var p2 = new fun2();
        console.log(p2.name);
    </script>
        

猜你喜欢

转载自blog.csdn.net/wzzcrush/article/details/80247043