中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術(shù)文檔 > 網(wǎng)頁制作 > 理解delete
CSS Sprites:有用技術(shù)or潛在麻煩 回到列表 什么是網(wǎng)頁標(biāo)準(zhǔn)?
 理解delete

作者:dishuipiaoxiang 時(shí)間: 2010-04-12 文檔類型:翻譯 來自:

第 1 頁 理解delete [1]
第 2 頁 理解delete [2]
第 3 頁 理解delete [3]
第 4 頁 理解delete [4]
第 5 頁 理解delete [5]
第 6 頁 理解delete [6]
第 7 頁 理解delete [7]
第 8 頁 理解delete [8]

誤區(qū)

理解事物為什么那么工作是一種難以言說的美,我在網(wǎng)上已經(jīng)看到了與delete運(yùn)算符誤解相關(guān)的誤區(qū)。例如,在關(guān)于棧溢出的回答(評(píng)分出其不意的效果高)中,它自信的解釋道:“delete is supposed to be no-op when target isn’t an object property ”,F(xiàn)在,我們已經(jīng)理解了delete 行為的核心,很清楚這個(gè)答案是不準(zhǔn)確的。delete 不區(qū)分變量和屬性(事實(shí)上,對(duì)于刪除,這些都是引用),真正的只關(guān)心的是DontDelete特性(和屬性存在)。

非常有意思的看到這個(gè)誤解如何相互影響,在同樣一個(gè)線程中,有人首先提出要直接刪除變量(除非它是在eval中聲明,否則不會(huì)生效),接著另外一個(gè)人提出一種錯(cuò)誤的糾正方法--在全局中可能刪除變量,但在函數(shù)內(nèi)不行。

在網(wǎng)站上解釋Javascript 最好小心,最好總是抓住問題的核心。

‘delete’和宿主對(duì)象

delete 的算法大概是這樣:

  1. 如果操作不是一個(gè)引用,返回true
  2. 如果一個(gè)對(duì)象沒有直接的屬性,返回true;(我們知道,對(duì)象可以是激活對(duì)象,可以是全局象);
  3. 如果一個(gè)屬性存在并有DontDelete特性,返回false;
  4. 否則,刪除屬性并返回true

但是,宿主對(duì)象的delete 運(yùn)算符的行為難以預(yù)測。實(shí)際上并沒有錯(cuò):除了少數(shù)幾個(gè),宿主對(duì)象是允許執(zhí)行任何類型的運(yùn)算行為的(按規(guī)范),如read(內(nèi)部的[get]方法)、write(內(nèi)部的[put]方法)或delete(內(nèi)部的[delete]方法)。這個(gè)定制的[[Delete]]行為使得宿主對(duì)象如此混亂。

在IE中我們已經(jīng)看到一些古怪的行為,如果刪除某些對(duì)象(明顯作為宿主對(duì)象來執(zhí)行)將拋出錯(cuò)誤。Firefox的一些版本在嘗試刪除window.location時(shí)將拋出錯(cuò)誤。當(dāng)涉及到宿主對(duì)象時(shí),你不能信任delete返回的任何值?纯丛贔irefox會(huì)有什么發(fā)生:

/* "alert" is a direct property of `window` (if we were to believe `hasOwnProperty`) */
window.hasOwnProperty('alert'); // true
delete window.alert; // true
typeof window.alert; // "function"

刪除window.alert 返回true,雖然這個(gè)屬性什么也沒有,它應(yīng)該導(dǎo)致這個(gè)結(jié)果。它保留了一個(gè)引用(因此在第一步中不應(yīng)該返回true),它是窗口對(duì)象的直接屬性(因此第二步中不能返回true)。唯一的辦法讓delete返回true是在第四步之后真正刪除屬性。但是,屬性是永遠(yuǎn)不會(huì)被刪除的。

這個(gè)故事的寓意在于永遠(yuǎn)不要相信宿主對(duì)象

ES5嚴(yán)格模式

那么,ECMAScript 5th edition 的嚴(yán)格模式可以拿到臺(tái)面上來了。一些限制正被引入,當(dāng)delete運(yùn)算符是一個(gè)變量、函數(shù)參數(shù)或函數(shù)標(biāo)識(shí)符的直接引用時(shí)將拋出SyntaxError。另外,如果屬性內(nèi)部有[[Configurable]] == false,將拋出TypeError。

(function(foo){ 
   "use strict"; // enable strict mode within this function 
    var bar; 
    function baz(){} 
    delete foo; // SyntaxError (when deleting argument) 
    delete bar; // SyntaxError (when deleting variable) 
    delete baz; // SyntaxError (when deleting variable created with function declaration) 
    /* `length` of function instances has { [[Configurable]] : false } */ 
    delete (function(){}).length; // TypeError
})();

另外,刪除未聲明的變量(換句話說,沒有找到的引用)也拋出SyntaxError。

"use strict";
delete i_dont_exist; // SyntaxError

正如你所理解的那樣,考慮到刪除變量、函數(shù)聲明和參數(shù)會(huì)導(dǎo)致如此多得混淆,所有這些限制就有點(diǎn)意義。與不聲不響的忽略刪除行為相反,嚴(yán)格模式應(yīng)該采取更積極的、更具有描述性的措施。

出處:
責(zé)任編輯:
bluehearts

上一頁 理解delete [6] 下一頁 理解delete [8]

◎進(jìn)入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評(píng)論

相關(guān)文章 更多相關(guān)鏈接
JavaScript組件打包模式
在 Mozilla UI 中書寫高效率 CSS
YUI3設(shè)計(jì)中的激進(jìn)和妥協(xié)
JavaScript 圖片預(yù)覽效果
向大師們學(xué)習(xí)Javascript(視頻/PPT)
作者文章 更多作者文章
CSS pointer-events下層元素被點(diǎn)擊
jQuery.data()方法與內(nèi)存泄漏
jQuery模板提案
設(shè)置HTTP文件下載四要訣
jQuery中10個(gè)非常有用的遍歷函數(shù)
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計(jì)比賽 網(wǎng)頁制作 web標(biāo)準(zhǔn) 用戶體驗(yàn) UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點(diǎn)最新 站點(diǎn)最新列表
周大!熬•自然”設(shè)計(jì)大賽開啟
國際體驗(yàn)設(shè)計(jì)大會(huì)7月將在京舉行
中國國防科技信息中心標(biāo)志征集
云計(jì)算如何讓安全問題可控
云計(jì)算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機(jī)會(huì)
阿里行云
云手機(jī)年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅(jiān)的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機(jī)主題設(shè)計(jì)大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺(tái)歷
Ps簡單繪制一個(gè)可愛的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡單的作品展示頁面
CSS定位機(jī)制之一:普通流
25個(gè)最佳最閃亮的Eclipse開發(fā)項(xiàng)目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁 首頁 前頁 后頁 尾頁 頁次:7/81個(gè)記錄/頁 轉(zhuǎn)到 頁 共8個(gè)記錄

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨(dú)家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點(diǎn)的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請不要盜鏈到本站,且不準(zhǔn)打上各自站點(diǎn)的水印,亦不能抹去我站點(diǎn)水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計(jì)作品,如需使用,請與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請與我們聯(lián)系,我們將立即刪除修改。

您的評(píng)論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評(píng)論。如果您不是本站會(huì)員,你可以注冊 為本站會(huì)員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯(cuò)誤,請用報(bào)告錯(cuò)誤,以利文檔及時(shí)修改。
不評(píng)分 1 2 3 4 5
注意:請不要在評(píng)論中含與內(nèi)容無關(guān)的廣告鏈接,違者封ID
請您注意:
·不良評(píng)論請用報(bào)告管理員,以利管理員及時(shí)刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項(xiàng)有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評(píng)論管理人員有權(quán)保留或刪除其管轄評(píng)論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評(píng)論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評(píng)論文檔 | 報(bào)告錯(cuò)誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計(jì)之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設(shè)計(jì)》
犀利開發(fā)—jQuery內(nèi)核詳解與實(shí)踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2