摘要:執(zhí)行操作文檔對象的時候,要放在的下方。由于再次執(zhí)行的時候,再次引用了第一次產(chǎn)生的變量,所以沒有被釋放,第一次的值為第二次執(zhí)行,的值再加,自然就是了。第二種,是執(zhí)行了兩次,第二次沒被引用,執(zhí)行一次就直接釋放掉。
1.執(zhí)行javascript?操作dom?文檔對象的時候,js?要放在body的下方。
否則會找不到對象?。。?!即要先加載dom才能操作dom!
2.操作dom?之后你的dom樹的結(jié)構(gòu)有可能會發(fā)生變化,繼續(xù)按照原來的操作會報錯!
確認(rèn)dom?的結(jié)構(gòu),不要犯錯特別是使用jquery的時候$(this)??$(this).sblings()繼續(xù)點下去,要知道自己操作的到底是哪個dom?節(jié)點。
3.函數(shù)加()和不加()?的區(qū)別,加()是直接調(diào)用這個函數(shù),不加是函數(shù)本身,下面看例子。
function?func(){ return?1; } alert(func); alert(func());
4.遍歷集合綁定函數(shù)
var?list=document.getElemntsByTagName("a"); for(var?i=0;i5.一個html?的問題
和 區(qū)別html?的角度說不清楚
在js?中,第一個相當(dāng)于?setAttribute("width",100);
第二個?相當(dāng)于?style.width=100;
6.i++的問題
var?i=1; var?b=i++?+?++i;//4 ?i=1; b=(i+1)?+??i++;//3???????++i==(i+1),是成立的 重點不是玩什么i++?,而是一個i++不是一個運算完成才+1?, 而是碰到第一個運算符的時候就+?了1?, i++?+?這時候i的值就是2了?,??!7.閉包
閉包原理是作用域的規(guī)則(下層級可以訪問上一層級的作用域),再加上一個引用計數(shù)(如果被引用就不會被gc回收),使閉包里面的內(nèi)容不被回收,達(dá)到了保存變量的作用。function?func(){ var?count=1; return?function(){ count+=1; alert(count); } } //1 var?add=func() add();//2 add();//3 //2 func()();//2 func()();//2為什么這兩個不同?
func(),只被執(zhí)行了一次。然后執(zhí)行兩次add(),那count的值就是只聲明了一次。
var?add=func(),函數(shù)func?只在這里執(zhí)行了一次。
下面執(zhí)行的都是add(),那第二次的count的值是從哪兒來的,沒錯它還是第一次執(zhí)行add時,留下來的那個變量。
由于再次執(zhí)行add()的時候,再次引用了第一次func()產(chǎn)生的變量count?,所以count沒有被釋放,第一次s(),count?的值為2,第二次執(zhí)行add(),count的值再加1,自然就是3了。
第二種,是執(zhí)行了兩次func(),第二次沒被引用,執(zhí)行一次就直接釋放掉。所以都是2
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/90593.html
摘要:最近在全力整理高性能的文檔,并重新學(xué)習(xí)一遍,放在這里方便大家查看并找到自己需要的知識點。 最近在全力整理《高性能JavaScript》的文檔,并重新學(xué)習(xí)一遍,放在這里方便大家查看并找到自己需要的知識點。 前端開發(fā)文檔 高性能JavaScript 第1章:加載和執(zhí)行 腳本位置 阻止腳本 無阻塞的腳本 延遲的腳本 動態(tài)腳本元素 XMLHTTPRequest腳本注入 推薦的無阻塞模式...
摘要:一簡介是一種解釋性的腳本語言代碼不進(jìn)行編譯,主要用來向頁面添加交互行為,主要由三部分組成核心,包含基本語法文檔對象模型瀏覽器對象模型是一種弱類型語言,可用修飾所有的變量不加時是全局變量二常見事件頁面或圖片加載完成時點擊提交按鈕時注意是在添加 一.簡介 javascript是一種解釋性的腳本語言(代碼不進(jìn)行編譯),主要用來向HTML頁面添加交互行為,主要由三 部分組成:ECMAScrip...
摘要:高性能小結(jié)文章轉(zhuǎn)載于我的博客最近看完了動物叢書的高性能,覺得那本書的小結(jié)部分寫得非常不錯,簡潔輕快易懂概括性很強(qiáng)。由于局部變量存在于作用域鏈的起始位置,因此訪問局部變量比訪問跨作用域變量更快。 高性能javascript小結(jié) 文章轉(zhuǎn)載于我的CSDN博客:http://blog.csdn.net/hello_world_20/article/details/46793317 最近看完了動...
摘要:而用來聲明一些根據(jù)判斷條件會發(fā)生變化的變量。函數(shù)中盡量避免的嵌套是十分常見的一種邏輯。僅對原數(shù)組進(jìn)行一次遍歷。當(dāng)然,使用專門的請求庫也是很好的選擇。以上總結(jié)僅僅是個人對于工作中的一些細(xì)節(jié)上的經(jīng)驗之談。 不知不覺,正式工作馬上兩年了,待了兩家公司,做過的項目也不少了,總結(jié)一下自己在寫代碼上的經(jīng)驗累積。 1. 確定變量的類型 不要使用==,使用=== JS是弱類型語言,類型檢查不嚴(yán)格。...
摘要:面向?qū)ο笾饕R點小結(jié),基于構(gòu)造函數(shù)可以理解為通過即將創(chuàng)建的對象將類實例化給一個對象賦予屬性或者方法原型便于方法的重用與構(gòu)造函數(shù)模式相比,使用原型對象的好處是可以讓所有對象實例共享它所包含的屬性和方法。 JavaScript面向?qū)ο笾饕R點小結(jié),基于ECMAScript 5. 構(gòu)造函數(shù) function People(name){ //this可以理解為通過new即將創(chuàng)建...
閱讀 3840·2021-10-12 10:12
閱讀 1471·2021-10-11 10:58
閱讀 2307·2021-10-09 10:01
閱讀 2617·2021-09-24 09:48
閱讀 2713·2021-09-09 11:38
閱讀 3538·2019-08-30 15:44
閱讀 1733·2019-08-30 14:22
閱讀 530·2019-08-29 12:42