国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

javascript 易錯知識點實例小結

瀏覽:8日期:2023-11-01 18:31:52

本文實例總結了javascript 易錯知識點。分享給大家供大家參考,具體如下:

為什么 typeof null === ’object’

原理是這樣的,不同的對象在底層都表示為二進制,在JavaScript中二進制前三位都為0的話會被判斷為 object 類型, null 的二進制表示是全0,自然前三位也是0,所以執行 typeof 時會返回“ object ”。

對象屬性的存在性

如 myObject.a 的屬性訪問返回值可能是 undefined ,但是這個值有可能是屬性中存儲的 undefined ,也可能是因為屬性不存在所以返回 undefined 。那么如何區分這兩種情況呢?

var myObject = { a:2};// 方案一('a' in myObject); // true('b' in myObject); // false// 方案二myObject.hasOwnProperty( 'a' ); // truemyObject.hasOwnProperty( 'b' ); // false// 方案三Object.prototype.hasOwnProperty.call(myObject, ’b’)對象繼承的三種方法

參考如下代碼:

function Foo(name) {this.name = name;}Foo.prototype.myName = function() {console.log(this.name)}function Bar(name, label) {Foo.call(this, name);this.label = label;}// 方法1Bar.prototype = Object.create(Foo.prototype)// 方法2Bar.prototype = Foo.prototype;// 方法3Bar.prototype = new Foo();//Bar.prototype.constructor = Bar;Bar.prototype.sayName = function() {console.log(this.name)}var b = new Foo(’fayin’)b.sayName()

上例中,三種方法都可以使 Bar 繼承 Foo.prototype 上的方法,但它們之間又有微妙的差別:

Object.create(..) 會憑空創建一個“新”對象并把新對象內部的 [[Prototype]] 關聯到你指定的對象(本例中是 Foo.prototype )。

Bar.prototype = Foo.prototype 并不會創建一個關聯到 Bar.prototype 的新對象,它只是讓 Bar.prototype 直接引用 Foo.prototype 對象。因此當你執行類似 Bar.prototype.myLabel = ... 的賦值語句時會直接修改 Foo.prototype 對象本身。

Bar.prototype = new Foo() 的確會創建一個關聯到 Bar.prototype 的新對象。但是它使用了 Foo(..)的“構造函數調用”,如果函數 Foo 有一些副作用(比如寫日志、修改狀態、注冊到其他對象、給 this 添加數據屬性,等等)的話,就會影響到 Bar() 的“后代”,后果不堪設想。

結論

因此,要創建一個合適的關聯對象,我們必須使用 Object.create(..) 而不是使用具有副作用的 Foo(..) 。這樣做唯一的缺點就是需要創建一個新對象然后把舊對象拋棄掉,不能直接修改已有的默認對象。

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript錯誤與調試技巧總結》、《JavaScript傳值操作技巧總結》、《javascript編碼操作技巧總結》、《JavaScript中json操作技巧總結》、《JavaScript切換特效與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript動畫特效與技巧匯總》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程序設計有所幫助。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 欧美一级毛片免费观看视频 | 欧美性色生活片天天看99 | 久草免费手机视频 | 国产精品久久久久久久午夜片 | 成人午夜精品久久不卡 | 成年免费a级毛片 | 午夜精品久久久久久91 | 国产成人午夜性视频影院 | 亚洲日韩精品欧美一区二区 | 91青草久久久久久清纯 | 91精品成人免费国产 | 欧美三区| 成人做爰毛片免费视频 | 国产精品久久毛片蜜月 | 精品国产综合区久久久久99 | 深夜福利视频在线观看免费播放 | 久久亚洲欧洲日产国码 | 日韩精品在线免费观看 | 亚洲经典在线观看 | 看片日韩 | 日韩精品一区二区三区高清 | 亚洲欧美在线不卡 | 97成人精品视频在线播放 | 亚洲精品中文字幕在线 | 99久久免费国产香蕉麻豆 | 国产成人综合精品一区 | 亚洲男女视频 | 久久99精品视免费看 | 国产欧美日韩综合精品无毒 | 一级做a爰全过程免费视频毛片 | 久久久久亚洲国产 | 超清首页 国产 亚洲 丝袜 | 国产精品一级香蕉一区 | 久久国产影视免费精品 | 久草视频在线资源站 | 日韩美a一级毛片 | 欧美高清日本三级人妇 | 九热视频在线观看 | 免费国产a国产片高清 | 香蕉网站狼人久久五月亭亭 | 久久久久国产成人精品 |