亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JavaScript對象(詳細)

 更新時間:2021年09月10日 09:38:25   作者:不會代碼的二玲吖  
這篇文章主要介紹了Java中的Script對象的相關(guān)資料,需要的朋友可以參考下文章里內(nèi)容

JavaScript對象

1.定義

對象是引用數(shù)據(jù)類型,是保存復雜數(shù)據(jù)類型的容器,它是多個屬性(數(shù)據(jù))和方法(功能)的集合

它允許動態(tài)的添加和刪除屬性

2.對象的分類

(1)內(nèi)建對象

         由ES標準中定義的對象,在任何的ES的實現(xiàn)中都可以使用

         比如:math string number boolean object...

(2)宿主對象

         由js的運行環(huán)境提供的對象,目前來講主要由瀏覽器提供的對象

         比如BOM DOM

(3)自定義對象

         由開發(fā)人員自己創(chuàng)建的對象

3.定義對象

對象字面量

使用對象字面量,可以在創(chuàng)建對象時,直接指定對象中的屬性

         語法:{屬性名:屬性值,屬性名:屬性值...}

         對象字面量的屬性名可以加引號,也可以不加,建議不加

         如果要使用一些特殊的名字,則必須加引號

         以'{ }'作為邊界,屬性與屬性之間用','分開,屬性和屬性值之間使用':'隔開

var obj={};

構(gòu)造函數(shù)創(chuàng)建對象

使用new關(guān)鍵字調(diào)用的函數(shù),是構(gòu)造函數(shù)constructor

構(gòu)造函數(shù)是專門用來創(chuàng)建對象的函數(shù)

使用typeof檢查一個對象時,會返回object

var obj = new Object();
console.log(typeof obj);

4.訪問對象中的屬性

點訪問符 .

o.name      =>  'terry'
o.age       =>   12

[]訪問符

o['name']   =>  'terry'
o['age']    =>  12

如果讀取對象中沒有的屬性,不會報錯而是返回undefined

5.給對象添加屬性

對象.屬性=屬性值;

o.gender='女';

6.刪除對象屬性

delete 對象.屬性;

delete o.gender;

7.Object根構(gòu)造函數(shù)

所有的對象都直接或者間接繼承Object,都能調(diào)用Object原型里面的方法

var o=new Object();
var arr=new Array();

8.對象屬性的檢測

in 運算符

         通過該運算符可以檢查一個對象中是否含有指定的屬性

         如果有,返回true,沒有則返回false

         語法:

         "屬性名" in 對象

'name' in Obj;

9.引用傳遞和值傳遞

基本數(shù)據(jù)類型使用值傳遞:基本數(shù)據(jù)類型將值直接保存到內(nèi)存的棧區(qū)中

js中的變量都是保存在棧內(nèi)存中的

         基本數(shù)據(jù)類型的值是直接在棧內(nèi)存中存儲

         值與值之間是獨立存在的,修改一個變量不會影響其他的變量
var a=123;
var b=a;
a++;
console.log('a='+a);    //124
console.log('b='+b);    //123

引用數(shù)據(jù)類型使用引用傳遞:引用數(shù)據(jù)類型的引用地址保存在棧區(qū)中,實際的值保存在堆區(qū)中,該引用地址指向堆區(qū)中的空間

對象是保存到堆內(nèi)存中的,每創(chuàng)建一個新的對象,就會在堆內(nèi)存中開辟出一個新的空間

而變量保存的是對象的內(nèi)存地址(對象的引用),如果兩個變量保存的是同一個對象引用

當一個變量修改屬性時,另一個也會受到影響

var obj=new Object();
obj.name='terry';
var obj2=obj;
 
//修改obj的name屬性
obj.name='tom';
 
console.log(obj.name);    //tom
console.log(obj2.name);    //tom

當比較兩個基本數(shù)據(jù)類型的值時,就是比較值

而比較兩個引用數(shù)據(jù)類型時,它是比較對象的內(nèi)存地址

如果兩個對象是一模一樣的,但是地址不同,它也會返回false

var c=10;
var d=10;
console.log(c==d);        //true
 
 
var obj3=new Object;
var obj4=new Object;
obj3.name='tom';
obj4.name='tom';
console.log(obj3==obj4);        //false

10.對象的序列化(把對象變?yōu)樽址?

1)常規(guī)轉(zhuǎn)換

        obj.tostring()

  2)轉(zhuǎn)化為json字符串

        JSON.stringify(obj)

  3)查詢字符串

        var qs= require('querystring');   //引入node.js模塊

        qs.stringify(obj)                  =>name=tom&age=12

11.增強for循環(huán)(for in)

遍歷對象

語法:
        for(var 變量 in 對象){         }
for...in語句  對象中有幾個屬性,循環(huán)體就會執(zhí)行幾次

每次執(zhí)行時,會將對象中的一個屬性名賦值給變量

var obj={
    name:'孫悟空',
    age:18,
    gender:'男',
    address:'花果山'
}
 
for(var n in obj){
    console.log('屬性名:'+n);
    console.log('屬性值:'+obj[n]);
    }

到此這篇關(guān)于Java中的Script對象(詳細)的文章就介紹到這了,更多相關(guān)JavaScript對象內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論