js-筆記

不言
發布: 2018-04-26 14:31:20
原創
1218 人瀏覽過

這篇文章給大家分享的就是一點js的筆記,有興趣的朋友可以看一下

1、js會進行一次預編譯處理;

var a; if (!(“a” in window)) { a = 1; }
登入後複製

alert (a); // undefined
這樣,題目的意思就非常清楚了:先宣告a,然後判斷a是否在存在,如果不存在就賦值為1,
很明顯a永遠在window裡存在,這個賦值語 句永遠不會執行,所以結果是undefined。

2、函數宣告會覆寫變數聲明,但不會覆寫變數賦值來看栗子

function value(){ return 1; } alert(typeof value); //”function”
登入後複製
登入後複製

盡快變數宣告在下面定義,但是變數value依然是function ,也就是說這種情況下,
函數宣告的優先權高於變數宣告的優先權,但如果該 變數value賦值了,那結果就完全不一樣了:
##

function value(){ return 1; } var value = 1; alert(typeof value); //”number”
登入後複製
登入後複製

該value賦值以後,變數賦值初始化就覆寫了函數宣告。


淺拷貝只是拷貝了基本類型的數據,對於數組或物件的話,拷貝的只是其記憶體位址,因此存在元物件被篡改的可能;


function copy(p) { let c = {}; for(let i in p) { c[i] = p[i]; } return c; }
登入後複製
登入後複製

1、js會進行一次預編譯處理;


var a; if (!(“a” in window)) { a = 1; } alert(a); // undefined
登入後複製

這樣,題目的意思就非常清楚了:先宣告a,然後判斷a是否在存在,如果不存在就賦值為1,

很明顯a永遠在window裡存在,這個賦值語 句永遠不會執行,所以結果是undefined。

2、函數宣告會覆寫變數聲明,但不會覆寫變數賦值來看栗子


function value(){ return 1; } alert(typeof value); //”function”
登入後複製
登入後複製

盡快變數宣告在下面定義,但是變數value依然是function ,也就是說這種情況下,

函數宣告的優先權高於變數宣告的優先權,但如果該 變數value賦值了,那結果就完全不一樣了:
##

function value(){ return 1; } var value = 1; alert(typeof value); //”number”
登入後複製
登入後複製

該value賦值以後,變數賦值初始化就覆寫了函數宣告。



淺拷貝只是拷貝了基本類型的數據,對於數組或物件的話,拷貝的只是其記憶體位址,因此存在元物件被篡改的可能;

function copy(p) { let c = {}; for(let i in p) { c[i] = p[i]; } return c; }
登入後複製
登入後複製

相關推薦:

js另一種寫法分享

js實作模糊查詢實例詳解

以上是js-筆記的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!