日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

对象(一)

發布時間:2023/12/10 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对象(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基本特征:面向對象編程有三個基本特征:封裝、繼承、多態;

面向對象思想:JavaScript 語言是通過一種叫做?原型(prototype)的方式來實現面向對象編程的。對象(object)則是依靠?構造器(constructor)利用?原型(prototype)構造出來的;

屬性類型:數據屬性、訪問器屬性

? ? ? ?數據屬性:包含一個數據值的位置,可以讀取和寫入;包括4個描述其行為的特性:?configurable、enumerable、writeable、value

? ? ? ?要想修改屬性默認的特征:使用Object.defineProperty() ?接收三個參數,屬性所在對象、屬性的名字、修改的描述符對象;

? ? ? ?訪問器屬性:包含一對兒getter和setter函數,讀取訪問器屬性時,調用getter函數,這個函數負責返回有效的值;寫入訪問器屬性時,調用setter函數并傳入新值;

? ? ? ? 訪問器屬性有4個特性:configurable、enumerable、get、set、

? ? ? ? 訪問器屬性不能直接定義,必須使用,Object.defineProperty()

? ? ? ?

var person={_year:2018, //直接定義數據屬性_yearnum:1};console.log("這是開始:"+person._year);Object.defineProperty(person,"year",{ //使用Object.defineProperty()定義訪問器屬性yearget:function(){return this._year;},set:function(newvalue){if(newvalue>2018){this._year=200;this.num+=newvalue-2018;}}});person.year=2020;console.log(person.num); //3console.log(person._year); //200

?

 定義多個屬性 Object.defineProperties() ?接收兩個參數:要添加或修改屬性的對象 ? ?要添加的屬性對象

var school={};Object.defineProperties(school,{_year:{ //定義兩個數據屬性value:100},num:{value:2},year:{ //定義一個訪問器屬性 year get:function(){return 200;},set:function(newvalue){this._year=newvalue;this.num+=1;}}});

  讀取屬性的特性 :Object.getOwnPropertyDescriptor() ? 接收兩個參數,屬性所在對象 ?和要讀取描述符的屬性名稱;

?

轉載于:https://www.cnblogs.com/yongyang/p/8902542.html

總結

以上是生活随笔為你收集整理的对象(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。