那些年成為node攻城獅的路(六)
物件
屬性
資料屬性
存在四個描述符:configurable(是否可以透過delete刪除)、emunerable(是否可列舉)、writeable(是否可修改屬性的值)、value(具體的值)
var person={age:20};//age屬性writeable、configurable、enumerable(預設全為true)Object.defineProperty(person,'name',{//那麼屬性 writeable、configurable、enumerable(預設全為false)value :'Lyf'})//--->由此所構建出來的物件name屬性不可修改、刪除、和列舉,不允許呼叫defineProperty;age屬性可以刪除、修改、列舉、可以多次呼叫defineProperty。console.log(person);//{age:20}person.name='Mx'; person.age=22;console.log(person);//{age:22}console.log(person.name);//Lyf
訪問器屬性
存在四個描述符:configurable、enumerable、get(寫入時呼叫)、set(讀取時呼叫)
var book ={_year:2004,edition:1}//_約定只能透過物件方法訪問,描述符預設全為trueObject.defineProperty(book,'year',{ enumerable:true,//預設描述符全為false get:function(){ return this._year; }, set :function(value){ this._year=value; this.edition++ } }); book.year=2016;console.log(book)
一次定義多個屬性
Object.defineProperties(book,{name:{writable:true,value:'Lyf'} age:{get:function(){}} })
讀取屬性特性
Object.getOwnPropertyDescriptor(物件,屬性);原型prototype
function Person(){this.name; } Person.prototype.sayName=function(){ console.log(this.name); }var p1=new Person('Lyf');
原型-建構函式-例項.png
建構函式.prototype=原型物件
例項.protot=原型物件
原型物件.constructor=建構函式
var p1=new Person(); ==>var p1={}; p1.__proto__=Person.prototype; Person.call(p1);
原型鏈,原型中的方法被所有例項所共享,尋找共有方法或屬性時採取
就近原則
F1.prototype=F2; F2.prototype=F3; F1.prototype.constructor=F1; F2.prototype.constructor=F2;
hasOwnPrototype(name);返回true表明該name屬於例項物件,返回false則表明該例項屬於原型物件。
作者:我就是L
連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2480/viewspace-2802683/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Android攻城獅前端遇坑指南Android前端
- 我們這些“攻城獅”的襯衣
- 前端攻城獅必會資料抓包前端
- 【大前端攻城獅之路】面試集錦前端面試
- 前端攻城獅HTML5自查手冊前端HTML
- 前端開發攻城獅——秋招經驗帖前端
- 攻城獅生活-2 讓我支付空車費的司機
- Node路徑那些事
- Node.js 最佳實踐 —— 如何在 2018 年成為更好的 Node.js 開發者Node.js
- 乾貨!攻城獅的交流分享!聊一聊開發人員快速提升自己的方式
- 一個一線前端攻城獅的快應用開發之路:3、Audio的完全方案前端
- 【Copy攻城獅日誌】CML之5分鐘入門多端統一框架框架
- 圖靈訪談1025 | 美團攻城獅:用技術創造歷史,用走過的路寫一本書圖靈
- Java攻城獅第二季綜合練習——初學者好懂版Java
- 一個一線前端攻城獅的快應用開發之路:1、初識快應用前端
- 那些日子 六
- 一個一線前端攻城獅的快應用開發之路:2、我與WebView的鬥智鬥勇前端WebView
- 【大前端攻城獅之路】百度愛番番前端效能監控體系方案設計前端
- Java 混淆那些事(六):Android 混淆的那些瑣事JavaAndroid
- TCP、HTTP和Node.js的那些事TCPHTTPNode.js
- Node那些事之模組化
- Node檔案操作那些事兒
- 聊聊網路的那些事
- 入門node.js你必須知道的那些事Node.js
- 前後端分離與Node和NPM的那些事後端NPM
- JVM-攻城掠地JVM
- TDengine 2023 年成績單“曝光”,六大維度彰顯卓越成就
- Node.js 教程第六篇——AsyncNode.js
- 2019年成為優秀的Java開發人員的10個技巧Java
- 掘金 AMA:聽阿里 Node 基礎框架 EggJS 的核心開發者–天豬講 EggJS 和 Node 那些事阿里框架JS
- 掘金 AMA:聽阿里 Node 基礎框架 EggJS 的核心開發者--天豬講 EggJS 和 Node 那些事阿里框架JS
- 網路安全那些事兒
- opencv介面那些不為人知的事!OpenCV
- Node js開發中的那些旮旮角角 第一部JS
- 9個專案助你在2020年成為前端大師!前端
- 那些年,我爬過的北科(六)——反反爬蟲之js渲染爬蟲JS
- 社牛玩家攻城略地,SLG遊戲為什麼就這麼行!?遊戲
- 開源並不是你認為的那些事