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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

20150206--JS巩固与加强4-02

發布時間:2023/12/13 javascript 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 20150206--JS巩固与加强4-02 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
20150206--JS鞏固與加強4-02

五、屬性遍歷與刪除

1、使用for…in…遍歷自定義對象屬性

基本語法:

for…in…(主要是完成對對象的遍歷)

示例代碼:

運行效果:

說明:在17行代碼,不能使用p1.i形式進行自定義對象屬性的遍歷,否則會彈出undefined,原因是因為當代碼識別到p1對象會認為p1.i是訪問p1對象的i屬性,由于沒有定義i屬性,所以系統會彈出3個undefined。

2、使用for…in…結構實現系統對象的遍歷

window

document

示例代碼:

運行效果:

3、屬性刪除操作

在Javascript,有時我們可能并不需要某個對象的某個屬性,這個時候我們可以采用delete關鍵詞實現對自定義屬性的刪除操作

基本語法:

delete對象.屬性

刪除指定屬性

示例代碼:

運行效果:

六、成員方法

1、基本語法:

對象.屬性 = 函數的首地址

例1:為對象添加speak說話方法

例2:創建對象p2,為p2添加speak說話方法

觀察以上代碼,與例1中的p1對象的成員方法完全一致,似乎代碼出現了重疊,改進上題

例3:改進上題

例4:由于以上代碼有很多重復性的代碼,那么我們可以對以上代碼進行封裝

七、json對象

1、什么是json

對象是指屬性的無序集合

所謂“集合”是指名/值對的集合,名/值對之間是通過 ,逗號隔開的

在js中,可以使用{}來表示這個集合

2、基本語法

var 變量 ={};

第一種:{‘屬性’:’屬性的值’, ‘屬性’:’屬性的值’, ‘屬性’:’屬性的值’}

第二種:{“屬性”:”屬性的值”, “屬性”:”屬性的值”, “屬性”:”屬性的值”}

第三種:{屬性:’屬性的值’,屬性:’屬性的值’,屬性:’屬性的值’,}

3、快速入門

例1:通過json對象描述一個人的信息

4、json對象從“何”而來

通過以上代碼可以證明:

json對象是Object類的一個實例,其實在Javascript中,Object類是所有類的基類,所有的對象都繼承了Object類的屬性。

json對象主要用于大批量數據的保存

例2:通過json對象保存多個人的信息

5、php與json

在php提供了兩個生成與解析json格式的函數

json_encode(數組或對象)

數組通常采用關聯性數組

json_decode(json格式字符串)

ajax xml

ajaj json

1)把數組轉化為json格式的數據

2 )把對象轉換成json格式的數據

說明:在json_encode函數中,目前只支持UTF-8,如果是GBK或GB2312請通過iconv進行轉化,否則無法使用或無法得到正常數據

3)把二維數組轉化為json格式數據

4)json_decode代碼解析

json_decode($json對象,[bool])

功能:把json格式數據反轉化

參數說明:

第一個參數是json格式數據

第二個參數是布爾類型的值,如果為true,則返回array數組類型的數據,如果是false或不填寫,則直接返回stdClass類的實例(對象)

不加true參數效果

案例:通過php+json完成對歷史上的今天api接口調用

http://www.juhe.cn/聚合數據

a)復制url地址http://japi.juhe.cn/toh/toh?key=您申請的KEY&v=1.0&month=11&day=1

參數說明

key:密鑰

v:版本1.0

month:月份

day:天

b)通過接口可知,其屬于get請求

效果如下:

6、為json對象添加成員方法

運行效果:

八、原型鏈

1、什么是原型對象?

答:當系統加載構造器時,系統會自動生成一個對象,我們把這個對象就稱之為原型對象。

構造器與原型對象在內存中是相互獨立的,但是其還有聯系:

在構造器中存在一個prototype屬性,指向原型對象

原型對象也存在屬性指向構造器

2、原型對象作用?

當構造器的實例訪問一個不存在的屬性時,系統會自動到構造器的原型對象中去尋找,如找到則直接使用。

當我們在某些已存在的框架或對象中找不到我們想要屬性或方法,我們可以借助原型對象,把需要的屬性或方法追加到原型對象。

3、如何向原型對象中添加屬性或方法

構造器.prototype.屬性=屬性的值

4、探討:原型對象到底從何而來

說明:當系統創建原型對象,系統會自動執行以下代碼

構造器.prototype = new Object();

由于原型對象都是Object類的實例,那么根據面向對象原則,我們的原型對象會自動繼承Object類中屬性和方法。

示例代碼:

說明:當我們運行到第14行,系統自動訪問p1對象的hasOwnPropery屬性,但由于系統中并不存在hasOwnProperty屬性,所以會到Person構造器的原型對象中去尋找,沒有找到,又由于所有的原型對象都是Object類的實例,所以原型對象會自動繼承Object類下面的所有的屬性和方法,所以發現該行代碼正常執行,原理圖如下:

我們把以上情況就稱之為原型繼承,通過以上圖解也可以證明,Object類是所有類的基類。

說明:在Javascript中,當某一個對象引用一個不存在屬性或方法時,系統首先到當前構造器的原型對象中去尋找,如還找不到,其會到上一層原型對象中去尋找,直至Object原型對象,我們把這種鏈接查找關系就稱之為原型鏈。

作業:擴展數組類的功能:(Array)

為每一個數組對象添加一個方法,可以查找某個元素的所在位置

var arr = [10,20,30,40,50];

arr.find(40);

2、擴展數字類的功能(Number)

為一個數字對象添加一個方法,該方法的參數為任意數目的整數,然后將所有參數累加到一起,并返回總和

vari = 10;

i.sum(10,30,40,50,60,60);

posted on 2016-05-05 23:59?山山未遲 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/lifushan/p/5463893.html

總結

以上是生活随笔為你收集整理的20150206--JS巩固与加强4-02的全部內容,希望文章能夠幫你解決所遇到的問題。

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