av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

JavaScript

JavaScript實(shí)例講解

時(shí)間:2024-08-29 07:25:08 JavaScript 我要投稿
  • 相關(guān)推薦

JavaScript實(shí)例講解

  這帶來(lái)的好處是內(nèi)部函數(shù)可以訪問(wèn)定義它們的外部函數(shù)的參數(shù)和變量。

  首先,我們來(lái)構(gòu)造一個(gè)簡(jiǎn)單的對(duì)象。

  復(fù)制代碼 代碼如下:

  var testObj = {

  value: 10,

  add: function(inc){

  this.value += (typeof inc === "number") ? inc : 1;

  }

  };

  testObj.add();

  testObj.value; // 11

  testObj.add(2);

  testObj.value; // 13

  這樣寫(xiě)就有一個(gè)問(wèn)題,value值不能保證不會(huì)被非法修改,可以按如下的方法進(jìn)行修改。

  復(fù)制代碼 代碼如下:

  var testObj = (function(){

  var value = 10;

  return {

  add: function(inc){

  value += (typeof inc === "number") ? inc : 1;

  },

  getValue: function(){

  return value;

  }

  };

  })();

  testObj.add();

  testObj.getValue(); // 11

  testObj.add(2);

  testObj.getValue(); // 13

  我們可以通用調(diào)用一個(gè)函數(shù)的形式去初始化testObj,該函數(shù)會(huì)返回一個(gè)對(duì)象字面量,函數(shù)里定義了一個(gè)value變量,該變量對(duì)add和getValue方法總是可用的,但函數(shù)的作用域使得它對(duì)其他的程序來(lái)說(shuō)是不可見(jiàn)的。同時(shí),我們還可以得出一個(gè)結(jié)論,內(nèi)部函數(shù)擁有比它的外部函數(shù)更長(zhǎng)的生命周期。

  我們?cè)倮^續(xù)看一個(gè)構(gòu)造函數(shù)調(diào)用的例子。

  復(fù)制代碼 代碼如下:

  var MyObj = function(str){

  this.status = str;

  };

  MyObj.prototype.getStatus = function(){

  return this.status;

  };

  var obj = new MyObj("javascript");

  obj.getStatus(); // "javascript"

  這樣寫(xiě)并沒(méi)有錯(cuò),但是會(huì)有一點(diǎn)“多此一舉”,為什么要用一個(gè)getStatus方法去訪問(wèn)一個(gè)本可以直接訪問(wèn)到的屬性呢?如果status是私有屬性,那當(dāng)然才有意義。

  復(fù)制代碼 代碼如下:

  var obj = function(status){

  return {

  getStatus: function(){

  return status;

  }

  };

  };

  var myObj = obj("javascript");

  myObj.getStatus(); // "javascript"

  這里當(dāng)我們調(diào)用obj的時(shí)候,它返回包含getStatus方法的一個(gè)新對(duì)象,該對(duì)象的一個(gè)引用保存在myObj中,即使obj已經(jīng)返回了,但getStatus方法仍然享有訪問(wèn)obj對(duì)象的status屬性的特權(quán)。getStatus方法并不是訪問(wèn)該參數(shù)的一個(gè)副本,它訪問(wèn)的就是該參數(shù)本身。這是可能的,因?yàn)樵摵瘮?shù)可以訪問(wèn)它被創(chuàng)建時(shí)所處的上下文環(huán)境,這被稱(chēng)為閉包。

【JavaScript實(shí)例講解】相關(guān)文章:

原生ajax調(diào)用數(shù)據(jù)實(shí)例簡(jiǎn)單講解07-19

如何調(diào)試javascript腳本呢07-19

javascript跨域訪問(wèn)的方法07-19

高爾夫技巧講解11-15

導(dǎo)游講解技巧04-09

泡茶的詳細(xì)步驟講解06-07

吉他入門(mén)技巧講解01-12

足球籬笆戰(zhàn)術(shù)講解02-20

象棋怎么下及口訣講解11-09

足球造越位戰(zhàn)術(shù)講解11-23