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

歡迎訪問 生活随笔!

生活随笔

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

javascript

JavaScript 弱类型

發(fā)布時間:2025/3/21 javascript 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript 弱类型 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

我們說JavaScript 是一種弱類型的語言,一方面體現(xiàn)在JavaScript 的變量、參數(shù)和返回值可以是任意類型,另一方面也體現(xiàn)在,JavaScript 可以對對象任意添加屬性和方法,這樣無形中就淡化了“類型”的概念。

對象的三種基本構(gòu)造法
//第一種構(gòu)造法:new Object
var a = new Object();
a.x = 1, a.y = 2;
//第二種構(gòu)造法:對象直接量
var b = {x : 1, y : 2};
//第三種構(gòu)造法:定義類型
function Point(x, y)
{
this.x = x;
this.y = y;
}
var p = new Point(1,2);

//var user=new Object();

1.添加屬性,方法

user.name="hongda";

user.alert=function(){alert(this.name);}

2.修改屬性,方法

user.name="hongdada";

user.alert=function(){alert("my name is "+this.name);}

3.刪除屬性,方法

user.name=undefined;

user.alert=undefined;

屬性和方法的類型

JavaScript 里,對象的屬性和方法支持4 種不同的類型,

第一種類型就是前面所說的私有類型,它的特點是對外界完全不具備訪問性,要訪問它們,只有通過特定的getter 和setter。

第二種類型是動態(tài)的公有類型,它的特點是外界可以訪問,而且每個對象實例持有一個副本,它們之間不會相互影響。

第三種類型是靜態(tài)的公有類型,或者通常叫做原型屬性,它的特點是每個對象實例共享唯一副本,對它的改寫會相互影響。

第四種類型是類屬性,它的特點是作為類型的屬性而不是對象實例的屬性,在沒有構(gòu)造對象時也能夠訪問.

<!-- function dwn(s) { document.write(s + "<br/>"); } function myClass() { var p = 100; //private property; 私有屬性 this.x = 10; //dynamic public property 動態(tài)公有屬性 } myClass.prototype.y = 20; //static public property or prototype property 原型屬性 myClass.z = 30; //static property //靜態(tài)屬性 var a = new myClass(); dwn(a.p); //undefined 私有屬性對象無法訪問到 dwn(a.x); //10 公有屬性 dwn(a.y); //20 公有屬性 a.x = 20; a.z = 40; dwn(a.x); //20 dwn(a.y); //40 //動態(tài)公有屬性y 覆蓋了原型屬性y delete(a.x); delete(a.y); dwn(a.x); //undefined 動態(tài)公有屬性x 被刪除后不存在 dwn(a.y); //20 動態(tài)公有屬性y 被刪除后還原為原型屬性y dwn(a.z); //undefined 類屬性無法通過對象訪問 dwn(myClass.z); //30 類屬性應(yīng)該通過類訪問 -->

?私有屬性(不能被該類的prototype訪問)

function class1(){ var pp=" this is a private property"; //私有屬性成員pp function pm(){ //私有方法成員pm,顯示pp的值 alert(pp); } this.method1=function(){ //在公有成員中改變私有屬性的值 pp="pp has been changed"; } this.method2=function(){ pm(); //在公有成員中調(diào)用私有方法 } } var obj1=new class1(); obj1.method1(); //調(diào)用公有方法method1 obj1.method2(); //調(diào)用公有方法method2

這些局部變量(私有成員),被所有在構(gòu)造函數(shù)中定義的公有方法所共享,而且僅被在構(gòu)造函數(shù)中定義的公有方法所共享。

這意味著,在prototype中定義的類成員將不能訪問在構(gòu)造體中定義的局部變量(私有成員)。

靜態(tài)屬性

function class1(){//構(gòu)造函數(shù) } //靜態(tài)屬性 class1.staticProperty=”sample”; //靜態(tài)方法 class1.staticMethod=function(){ alert(class1.staticProperty); } //調(diào)用靜態(tài)方法 class1.staticMethod();

?

總結(jié)

以上是生活随笔為你收集整理的JavaScript 弱类型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。