最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js中對(duì)象和面向?qū)ο笈cJson介紹

 更新時(shí)間:2019年01月21日 15:26:40   作者:muzidigbig  
今天小編就為大家分享一篇關(guān)于js中對(duì)象和面向?qū)ο笈cJson介紹,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧

ECMA-262 把對(duì)象(object)定義為“屬性的無(wú)序集合,每個(gè)屬性存放一個(gè)原始值、對(duì)象或函數(shù)”。嚴(yán)格來(lái)說(shuō),這意味著對(duì)象是無(wú)特定順序的值的數(shù)組。

面向?qū)ο笳Z(yǔ)言的要求

一種面向?qū)ο笳Z(yǔ)言需要向開發(fā)者提供四種基本能力:

  1. 封裝 - 把相關(guān)的信息(無(wú)論數(shù)據(jù)或方法)存儲(chǔ)在對(duì)象中的能力
  2. 聚集 - 把一個(gè)對(duì)象存儲(chǔ)在另一個(gè)對(duì)象內(nèi)的能力
  3. 繼承 - 由另一個(gè)類(或多個(gè)類)得來(lái)類的屬性和方法的能力
  4. 多態(tài) - 編寫能以多種方法運(yùn)行的函數(shù)或方法的能力

對(duì)象的創(chuàng)建和銷毀都在 JavaScript 執(zhí)行過(guò)程中發(fā)生,理解這種范式的含義對(duì)理解整個(gè)語(yǔ)言至關(guān)重要。

JavaScript 中的所有事物都是對(duì)象:字符串、數(shù)值、數(shù)組、函數(shù)...

此外,JavaScript 允許自定義對(duì)象。

JavaScript 對(duì)象

JavaScript 提供多個(gè)內(nèi)建對(duì)象,比如 String、Date、Array 等等。

對(duì)象只是帶有屬性和方法的特殊數(shù)據(jù)類型。

訪問(wèn)對(duì)象的屬性

屬性是與對(duì)象相關(guān)的值。

訪問(wèn)對(duì)象屬性的語(yǔ)法是:

objectName.propertyName

這個(gè)例子使用了 String 對(duì)象的 length 屬性來(lái)獲得字符串的長(zhǎng)度:

var message="Hello World!";
var x=message.length;  //  12

訪問(wèn)對(duì)象的方法

方法是能夠在對(duì)象上執(zhí)行的動(dòng)作。

您可以通過(guò)以下語(yǔ)法來(lái)調(diào)用方法:

objectName.methodName()

這個(gè)例子使用了 String 對(duì)象的 toUpperCase() 方法來(lái)將文本轉(zhuǎn)換為大寫:

var message="Hello world!";
var x=message.toUpperCase();  //  HELLO WORLD!

創(chuàng)建 JavaScript 對(duì)象

通過(guò) JavaScript,您能夠定義并創(chuàng)建自己的對(duì)象。

創(chuàng)建新對(duì)象有兩種不同的方法:

  1. 定義并創(chuàng)建對(duì)象的實(shí)例
  2. 使用函數(shù)來(lái)定義對(duì)象,然后創(chuàng)建新的對(duì)象實(shí)例

方式一:實(shí)例

<script>
  var person=new Object();
  person.firstname="Bill";
  person.lastname="Gates";
  person.age=56;
  person.eyecolor="blue";
  document.write(person.firstname + " is " + person.age + " years old.");
</script>

替代語(yǔ)法(使用對(duì)象 literals):

方式二:實(shí)例

<script>
  var person={firstname:"Bill",lastname:"gates",age:56,eyecolor:"blue"}
  document.write(person.firstname + " is " + person.age + " years old.");
</script>

方式三:使用對(duì)象構(gòu)造器

本例使用函數(shù)來(lái)構(gòu)造對(duì)象:

<script>
  function person(firstname,lastname,age,eyecolor){
  this.firstname=firstname;
  this.lastname=lastname;
  this.age=age;
  this.eyecolor=eyecolor;
  }
 //創(chuàng)建對(duì)象
  var myFather = new person("Bill","Gates",56,"blue");
  document.write(myFather.firstname + " is " + myFather.age + " years old.");
</script>

創(chuàng)建 JavaScript 對(duì)象實(shí)例

一旦您有了對(duì)象構(gòu)造器,就可以創(chuàng)建新的對(duì)象實(shí)例,就像這樣:

var myFather=new person("Bill","Gates",56,"blue");
var myMother=new person("Steve","Jobs",48,"green");

把屬性添加到 JavaScript 對(duì)象

您可以通過(guò)為對(duì)象賦值,向已有對(duì)象添加新屬性:

假設(shè) personObj 已存在 - 您可以為其添加這些新屬性:firstname、lastname、age 以及 eyecolor:

person.firstname="Bill";
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";
var x=person.firstname;
console.log(x);  //  Bill

把方法添加到 JavaScript 對(duì)象

方法只不過(guò)是附加在對(duì)象上的函數(shù)。

在構(gòu)造器函數(shù)內(nèi)部定義對(duì)象的方法:

<script>
  function person(firstname,lastname,age,eyecolor){
    this.firstname=firstname;
    this.lastname=lastname;
    this.age=age;
    this.eyecolor=eyecolor;
    this.changeName=changeName;
  // 構(gòu)造器中定義函數(shù)
    function changeName(name){
      this.lastname=name;
    }
}
//創(chuàng)建對(duì)象    
var myMother=new person("Steve","Jobs",56,"green");
myMother.changeName("Ballmer");
document.write(myMother.lastname);  //  Ballmer
</script>

JavaScript 類

JavaScript 是面向?qū)ο蟮恼Z(yǔ)言,但 JavaScript 不使用類。

在 JavaScript 中,不會(huì)創(chuàng)建類,也不會(huì)通過(guò)類來(lái)創(chuàng)建對(duì)象(就像在其他面向?qū)ο蟮恼Z(yǔ)言中那樣)。

JavaScript 基于 prototype,而不是基于類的。

JavaScript for...in 循環(huán)

JavaScript for...in 語(yǔ)句循環(huán)遍歷對(duì)象的屬性。

for (對(duì)象中的變量){
 要執(zhí)行的代碼
}

注釋:for...in 循環(huán)中的代碼塊將針對(duì)每個(gè)屬性執(zhí)行一次。

實(shí)例

循環(huán)遍歷對(duì)象的屬性:

<script>
 // function myFunction(){
    var x;
    var txt="";
    var person={fname:"Bill",lname:"Gates",age:56}; 
    //遍歷對(duì)象
    for (x in person){
      //將遍歷的結(jié)果封裝到txt中
       txt=txt + person[x];
    }
  console.log(txt);  //  BillGates56
 // }
</script>

對(duì)象字面量

函數(shù)的調(diào)用:obj2.sayHi();

var obj = {aaa: 111};           varjson = {“aaa”:111};

對(duì)象字面量定義方法和json很像,只有一點(diǎn)不同,json的key要求必須加“”;

Json組成

Var json = {“aaa”: 1,“bbb”: 2,“ccc”: 3,“ddd”: 4}

Json由{}和key:value以及逗號(hào)組成,三部分。(只有一個(gè)鍵值對(duì)key:value時(shí),可以沒有逗號(hào))

Json數(shù)據(jù)格式(重要)

json是一種與語(yǔ)言無(wú)關(guān)的數(shù)據(jù)交換的格式,作用:

1.使用ajax進(jìn)行前后臺(tái)數(shù)據(jù)交換

2.移動(dòng)端與服務(wù)端的數(shù)據(jù)交換

1.Json的格式與解析

json有兩種格式:

1)對(duì)象格式:{"key1":value,"key2":value,"key3":value...}

2)數(shù)組/集合格式:[obj,obj,obj...]

例如:user對(duì)象 用json數(shù)據(jù)格式表示(user對(duì)象里面有4個(gè)屬性)

{"username":"zhangsan","age":28,"password":"123","addr":"北京"}

List<Product> 用json數(shù)據(jù)格式表示(集合里面有3個(gè)paoduct對(duì)象)

[{"pid":"10","pname":"小米4C"},{},{}]

注意:對(duì)象格式和數(shù)組格式可以互相嵌套

      json的key是字符串  json的value是Object(json的值可以為函數(shù))

json的解析:

json是js的原生內(nèi)容,也就意味著js可以直接取出json對(duì)象中的數(shù)據(jù)

var person = {"firstname":"張","lastname":"三豐","age":100};
  //取出lastname
  alert(person.lastname);
  //取出age
  alert(person.age);
</script>

參數(shù)和傳值問(wèn)題

一、簡(jiǎn)單類型數(shù)據(jù)做參數(shù),函數(shù)內(nèi)部對(duì)參數(shù)的修改不應(yīng)影響外部變量簡(jiǎn)單類型傳數(shù)值。

二、復(fù)雜類型數(shù)據(jù)做參數(shù),函數(shù)內(nèi)部對(duì)參數(shù)的修改會(huì)應(yīng)影響外部變量復(fù)雜類型傳地址。

如有不足請(qǐng)多多指教!希望給您帶來(lái)幫助!

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • 同步文本框內(nèi)容JS代碼實(shí)現(xiàn)

    同步文本框內(nèi)容JS代碼實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)同步文本框內(nèi)容的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • JavaScript 拖拉縮放效果

    JavaScript 拖拉縮放效果

    拖拉縮放效果,實(shí)現(xiàn)通過(guò)鼠標(biāo)拖動(dòng)來(lái)調(diào)整層的面積(寬高)大小。例如選框效果。
    2008-12-12
  • JavaScript數(shù)組_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    JavaScript數(shù)組_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了JavaScript數(shù)組的相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-06-06
  • 用js寫的一個(gè)路由(簡(jiǎn)單實(shí)例)

    用js寫的一個(gè)路由(簡(jiǎn)單實(shí)例)

    下面小編就為大家?guī)?lái)一篇用js寫的一個(gè)路由(簡(jiǎn)單實(shí)例)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-09-09
  • Javascript實(shí)現(xiàn)頁(yè)面滾動(dòng)時(shí)導(dǎo)航智能定位

    Javascript實(shí)現(xiàn)頁(yè)面滾動(dòng)時(shí)導(dǎo)航智能定位

    本篇文章主要介紹了Javascript實(shí)現(xiàn)頁(yè)面滾動(dòng)時(shí)導(dǎo)航智能定位,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 深入分析js中的constructor和prototype

    深入分析js中的constructor和prototype

    在javascript的使用過(guò)程中,constructor 和prototype這兩個(gè)概念是相當(dāng)重要的,深入的理解這兩個(gè)概念對(duì)理解js的一些核心概念非常的重要
    2012-04-04
  • 簡(jiǎn)單實(shí)現(xiàn)Bootstrap標(biāo)簽頁(yè)

    簡(jiǎn)單實(shí)現(xiàn)Bootstrap標(biāo)簽頁(yè)

    這篇文章主要教大家簡(jiǎn)單實(shí)現(xiàn)Bootstrap標(biāo)簽頁(yè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Javascript數(shù)組的?forEach?方法詳細(xì)介紹

    Javascript數(shù)組的?forEach?方法詳細(xì)介紹

    這篇文章主要介紹了Javascript數(shù)組的forEach方法詳細(xì)介紹,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • JS 控件事件小結(jié)

    JS 控件事件小結(jié)

    事件對(duì)于控件來(lái)說(shuō)至關(guān)重要,控件的消息通信機(jī)制使用事件的成本最低,但是對(duì)于JS控件來(lái)說(shuō)有一些麻煩需要解決,JS類本身不支持事件,DOM模型支持的事件僅適應(yīng)于瀏覽器的DOM節(jié)點(diǎn)。所以創(chuàng)建一套事件是我們寫控件之前要做的
    2012-10-10
  • 詳解js數(shù)組的完全隨機(jī)排列算法

    詳解js數(shù)組的完全隨機(jī)排列算法

    本文主要對(duì)常見的完全錯(cuò)誤的隨機(jī)排列算法進(jìn)行介紹分析,并介紹了經(jīng)典的隨機(jī)排列算法,具有很好的參考價(jià)值,需要的朋友一起來(lái)看下吧
    2016-12-12

最新評(píng)論

临洮县| 浦城县| 盐亭县| 兴化市| 镇远县| 霍山县| 泗洪县| 娱乐| 筠连县| 色达县| 泸溪县| 兴国县| 六安市| 甘孜| 探索| 邛崃市| 上饶县| 连山| 南郑县| 宿州市| 克拉玛依市| 大余县| 张掖市| 清徐县| 尉氏县| 清徐县| 南康市| 钦州市| 通江县| 彝良县| 吐鲁番市| 崇阳县| 安平县| 黑山县| 利辛县| 蚌埠市| 增城市| 安阳县| 灵山县| 泸水县| 河北省|