亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

javascript面向對象特性代碼實例

2019-11-20 14:29:38
字體:
來源:轉載
供稿:網友

一、基本的類的使用
方法一:

復制代碼 代碼如下:

function sth(a) // 構造函數
{
 this.a = a;
 this.fun = output; // 成員函數
}

function output(a, b, c)
{
 document.write(this.a);
}

//調用
var s = new sth(250);
s.fun(1, 2, 3);
ouput(1, 2, 3); //如果output在sth之前就是錯的

方法二:

復制代碼 代碼如下:
function sth(a)
{  
 this.a = a;
 this.output = function()
 {
  document.write(this.a);
 }
}

var s = new sth(2);
s.output(); // 輸出2

二、繼承
方法一:
復制代碼 代碼如下:
function A(x)
{
 this.x = x;
}

function B(x, y)
{
 // 方法1
 /*
 this.construct = A;
 this.construct(x);
 delete this.construct;
 */ 

 // 方法2
 //A.call(this, x);

 // 方法3
 A.apply(this, new Array(x)); // 亦可A.apply(this, arguments), 不過arguments參數順序一定要對

 this.y = y;
 this.print = function()
 {
  document.write("x = ", x,
         ", y = ", y);
 }
}

var b = new B(1, 2);
b.print();
alert(B instanceof A); // 輸出false

優點:可以實現多繼承(多調用call就好)

缺點:
? 必須以構造函數方式使用
? 使用instanceof運算符運算此類繼承結果為false

方法二:

復制代碼 代碼如下:
function A()
{

}
A.prototype.x = 1;

function B()
{

}
B.prototype = new A(); // 不能帶參數!
B.prototype.y = 2; 
B.prototype.print = function()
{
 document.write(this.x, ", ", this.y, "<br>");
}

var b = new B();
b.print();
document.write(b instanceof A); // 輸出true


缺點:
? 不能實現多繼承
? 構造函數不帶參數

Tips

通常使用混合模式,兩者一起用

復制代碼 代碼如下:

function A(x)
{
 this.x = x;
}
A.prototype.printx = function()  // 寫到A類里面this.printx = function....也是可以的,下同
{
 document.write(this.x, "<br>");
}

function B(x, y)
{
 A.call(this, x);
 this.y = y;
}
B.prototype = new A(); // 不能帶參數! 
B.prototype.printxy = function()
{
 document.write(this.x, ", ", this.y, "<br>");
}

var b = new B(1, 2);
b.printx();  // 輸出1
b.printxy(); // 輸出1, 2
document.write(b instanceof A); // 輸出true

三、類似靜態成員函數的使用

復制代碼 代碼如下:
function sth(a)
{  
 this.a = a;
}

sth.fun = function(s)
{
 document.write(s.a);
}

var s = new sth(2);
sth.fun(s); // 輸出2


四、對象的釋放

復制代碼 代碼如下:
var obj = new Object; // obj是引用
obj = null; // 取消引用,會自動進行垃圾回收;如果需要根本釋放此對象,要將它的所有引用都賦值為null

五、函數對象

復制代碼 代碼如下:
var v = new Function("arg1", "arg2", "document.write(arg1 + arg2);"); // 定義一個函數對象,參數分別是arg1,arg2
v(1, 2); // 將會輸出3

六、回調函數

復制代碼 代碼如下:
function callback(func, arg)
{
 func(arg);
}

function fun(arg)
{
 document.write(arg);
}

//callback(func, "sb"); // 這種做法不行

var func = new Function("arg", "fun(arg);");
// 當然也可以把func(arg)換成具體的執行代碼,   
// 但是函數代碼龐大了就最好這樣做了
callback(func, "sb");

七、函數的重載

復制代碼 代碼如下:
function fun()
{
 switch (arguments.length)
 {
 case 1:
  document.write(arguments[0]);
  break;
 case 2:
  document.write(arguments[0] + arguments[1]);
  break;
 default:
  document.write("ERROR!");
  break;
 }
}

fun(1);
fun(1, 2);

八、利用函數閉包實現有“靜態變量”的函數

復制代碼 代碼如下:
function fun()
{
 var v = 1;
 function fun2()
 {
  ++v;
  document.write(v);
  document.write("<br>");
  return v;
 }

 return fun2;
}

var func = fun();
func(); // 輸出2
func(); // 輸出3
func(); // 輸出4

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕在线日韩| 亚洲资源在线看| 中文字幕国产精品| 日韩在线观看电影| 国产91网红主播在线观看| 久久精品影视伊人网| 亚洲免费视频观看| 不卡av电影院| 91久久精品国产91久久性色| 亚洲在线免费观看| 久久不射热爱视频精品| 国产综合久久久久久| 美女视频黄免费的亚洲男人天堂| 亚洲美女精品久久| 一本久久综合亚洲鲁鲁| 九九热这里只有在线精品视| 国产亚洲一区精品| 欧美中文在线免费| 中文字幕成人精品久久不卡| 亚洲自拍欧美色图| 国产精品免费久久久久影院| 久久视频在线观看免费| 国产成人拍精品视频午夜网站| 欧洲美女7788成人免费视频| 久99九色视频在线观看| 欧美极品在线播放| www欧美xxxx| 超碰精品一区二区三区乱码| 精品国产网站地址| 神马国产精品影院av| 日韩欧美在线视频| 精品亚洲男同gayvideo网站| 欧美俄罗斯性视频| 在线亚洲午夜片av大片| 久久激情五月丁香伊人| 97在线视频国产| 国产成人精品亚洲精品| 国产成人精品网站| 欧美巨乳美女视频| 国产精品久久久久久五月尺| 九九精品在线观看| 欧美一区二区视频97| 国产精品www| 日韩中文字幕不卡视频| 日韩免费在线电影| 久久亚洲精品国产亚洲老地址| 久久99国产综合精品女同| 欧美黑人xxx| 久久久久亚洲精品国产| 国产成人精品久久亚洲高清不卡| 久久精品青青大伊人av| 国产精品私拍pans大尺度在线| 欧美国产日韩xxxxx| 国产一区二区av| 亚洲一区二区精品| 欧美亚洲激情视频| 欧美另类第一页| 成人在线一区二区| 欧美亚洲另类激情另类| 国产精品 欧美在线| 国产一区二区三区三区在线观看| 亚洲精品国产欧美| 日韩视频―中文字幕| 日韩在线视频线视频免费网站| 国产在线拍揄自揄视频不卡99| 黑人巨大精品欧美一区二区三区| 亚洲精品自拍视频| 精品久久久久久久久久ntr影视| 成人a在线视频| 国产精品久久久久久久久借妻| 日韩精品在线电影| 亚洲成人a**站| 5566日本婷婷色中文字幕97| 国产精品丝袜高跟| 日韩在线免费视频| 日韩在线欧美在线| 97香蕉超级碰碰久久免费软件| 国产精品91免费在线| 丰满岳妇乱一区二区三区| 一区二区av在线| 日韩一中文字幕| 欧美成aaa人片免费看| 亚洲精品久久久久久久久| 国产z一区二区三区| 国产一级揄自揄精品视频| 亚洲精品小视频| 一级做a爰片久久毛片美女图片| 日本亚洲精品在线观看| 伊人成人开心激情综合网| 在线观看日韩av| 浅井舞香一区二区| 国产日韩欧美成人| 亚洲精品白浆高清久久久久久| 国产欧美在线观看| 精品偷拍各种wc美女嘘嘘| 欧美激情影音先锋| 热re91久久精品国99热蜜臀| 欧美最顶级丰满的aⅴ艳星| 国产精品黄色影片导航在线观看| 日韩欧美精品网站| 久久精品91久久久久久再现| 欧美又大又粗又长| 国产精品久久久久久久久久久新郎| 国产有码在线一区二区视频| 97婷婷涩涩精品一区| 国产精品影院在线观看| 欧美激情一区二区三区成人| www.亚洲人.com| 成人午夜高潮视频| 欧美精品在线网站| 欧美理论电影在线播放| 欧美另类极品videosbest最新版本| 亚洲欧洲在线观看| 久久久欧美精品| 成人黄色大片在线免费观看| 国产美女精品免费电影| 久久噜噜噜精品国产亚洲综合| 亚洲第一页自拍| 成人免费大片黄在线播放| 国产一区二中文字幕在线看| 日韩的一区二区| 日本精品久久中文字幕佐佐木| 久久精品国产一区二区三区| 久久久精品视频成人| 欧美电影在线观看完整版| 国产脚交av在线一区二区| 欧美国产日韩在线| 亚洲成人av片在线观看| 成人自拍性视频| 最近日韩中文字幕中文| 欧美高清自拍一区| 98午夜经典影视| www亚洲精品| 亚洲精品一区二区三区不| 日韩av综合网| 成人在线国产精品| 国内免费精品永久在线视频| 日本中文字幕成人| 国产成人拍精品视频午夜网站| 久久久精品日本| 亚洲精品久久久久国产| 亚洲欧美日韩中文视频| 97超级碰碰人国产在线观看| 国产日产欧美精品| 亚洲国模精品私拍| 久久久久久久亚洲精品| 成人妇女淫片aaaa视频| 92国产精品久久久久首页| 色综合老司机第九色激情| 国产精品ⅴa在线观看h| 国产97在线视频| 亚洲欧美日韩国产中文专区| 日韩在线观看免费全集电视剧网站| 亚州av一区二区| 欧美午夜视频在线观看| 欧美在线一区二区视频| 国产精品高潮呻吟视频| 亚洲毛片一区二区| 国内精品久久久久久久久| 日韩视频免费大全中文字幕| 38少妇精品导航| 亚洲欧美国产制服动漫| 狠狠躁18三区二区一区| 91精品国产成人www|