1. 程式人生 > >JS 基礎知識面試題目(一)

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>