1.。變量variable

a.全局變量Global Variable 和 局部變量 Private Variable

加var和不加var是有區別的 --》如果不 " /> 久久re视频这里精品免费1 ,国产一区二区三区乱码在线观看 ,美女网站免费看

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

學習YUI.Ext 第三天

對于以前很多混淆不清的知識,有必要再梳理一下:就從最基礎的變量開始說起。

1.。變量variable

      a.全局變量Global Variable 和 局部變量 Private Variable

     加var和不加var是有區別的 
      --》如果不用關鍵字var,聲明一個變量,那么這個是全局變量,任何子函數都可以訪問,就算是跳出花括號的地方,亦可被訪問;
      --》如果使用關鍵字var,則從所在的“花括號{}”起,全體函數都可以訪問該變量,如:


function foo(){
  i=8                    //Global Variable
  alert(i)
 }

function foo2(){
  var i=88 //在此花括號下都可訪問變量i
  alert(i);
  child()
  function child(){alert(i)}
 } 
foo();foo2()
alert(i) //這里的i還是8

    值得注意是function是編譯期的對象,必須執行或實例化才能在內存中分配這一變量。
    全局變量習慣以_開頭;p.s全部變量最好慎用,你很知道這個變量在那里何時發生變化!
  -------》參見 js手冊:
“盡管并不安全,但聲明語句中忽略 var 關鍵字是合法的 JScript 語法。這時,JScript 解釋器給予變量全局范圍的可見度。當在過程級中聲明一個變量時,它不能用于全局范圍;這種情況下,變量聲明必須用 var 關鍵字。”


   b.變量的數據類型 the types of variable

Jscript 有三種主要數據類型、兩種復合數據類型和兩種特殊數據類型。

主要(基本)數據類型是: 

字符串 
數值 
布爾 
復合(引用)數據類型是: 

對象 
數組 
特殊數據類型是: 

Null 
Undefined 
下面簡述一下JavaScript中的各種對象類型:
    Native Object: JavaScript語言提供的不依賴于執行宿主的對象,其中一些是內建對象,如:Global、Math;一些是在腳本運行環境中創建來使用的,如:Array、Boolean、Date、Function、Number、Object、RegExp、Error。
    Build-in Object: JavaScript語言提供的不依賴于執行宿主的內建對象,如:Global、Math;內建對象都是Native Object。
    Host Object:JavaScript語言提供的任何依賴于宿主環境的對象,所有非Native Object的對象都是宿主對象,如:IE中的window,WScript中的wscript實例,任何用戶創建的類。



****如何檢查對象類型?******
   1.typeof()
      typeof 運算符把類型信息當作字符串返回。typeof 返回值有六種可能: "number," "string," "boolean," "object," "function," 和 "undefined."

    2.   val instanceof Array
    返回一個 Boolean 值,指出對象是否是特定類的一個實例。 
  例如用到檢查 數組或日期類型的時候(事實上,任何類型都允許,見例),必須使用instance of + class name(不用引號),例:

function foo(){}
var f = new foo();
alert(f instanceof foo2) //false

3.constructor 
 constructor 的用法感覺跟instance的用法一樣,只不過不返回boolean值

x = new String("Hi");
if (x.constructor == String)
      // 進行處理(條件為真)。

*******var i={}是什么類型?****
答案:object類型 等價于var i = new Object

Object對象是一切對象的載體,有點想父類吧

Object 對象很簡單, 
它就只有兩個property和兩個method 
這兩個property是: 
prototype 
constructor 
這兩個function是: 
toString() 
valueOf() 

那么var obj = new MyObject()怎么文本化呢?其實也很簡單的,obj的文本化定義如下:

 

 var obj = 
     {
         Properties1 : 1, Properties2 : '2', Properties3 : [3],
         Method1 : function(){ return this.Properties1 + this.Properties3[0];},
         Method2 : function(){ return this.Preperties2; }
     };



    類實例文本化定義的語法為,用一對"{}"表示類,也就說"{}"完全等價于"new Object()"。然后"{}"內按"key:value"組織屬性和方法,key可以是任意[A-Za-z0-9_]的字符組合,甚至數字開頭都是合法的@_@,value是任何的合法的文本化JavaScript數據,最后每個鍵值對用","來分隔就行了。
通常用于JSON交換數據。


*******undefined 的兩種含義*****
1.undefined關鍵字 2.undefined屬性
聲明了變量,但沒賦過值,是屬于第一種的情況;
完全沒有聲明,就跑出一個變量參與運算,它的數據類型是第二種情況;
兩個相同名字卻不同含義,建議下一版本改名。


var declared;                         //聲明變量。
if (declared == undefined)            //改為uninitialized沒初始化 會更準確,js is loose language indeed!
  document.write("declared has not been given a value.");

if (typeOf(notDeclared) == "undefined")
  document.write("notDeclared has not been defined.");

JavaScript技術學習YUI.Ext 第三天,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 耻辱诊察室1一4集动漫在线观看 | 好湿好紧水多AAAAA片秀人网 | 成人午夜精品久久久久久久秋霞 | 日本熟妇多毛XXXXX视频 | 日本无码毛片久久久九色综合 | 国产在线中文字幕 | 国产成人精品在视频 | yellow在线观看免费高清的日本 | 亚洲精品一二三 | 国产精品婷婷久青青原 | 朋友的娇妻好爽好烫嗯 | 20岁中国男同志china1069 20岁αsrian男同志免费 | 最近中文字幕MV高清在线 | 综合色中色 | 亚洲成人免费在线 | 无限资源在线观看完整版免费下载 | beeg日本老妇人 | 婷婷射精AV这里只有精品 | 久久久精品国产免费A片胖妇女 | 青柠在线观看视频在线 | 亚洲狠狠97婷婷综合久久久久 | 女人爽到高潮嗷嗷叫视频 | 国产精品久久久久久久久无码 | 欧美18videosex| 亚洲国产AV一区二区三区四区 | 国产h视频免费观看 | 乡村教师电影版 | 日本十八禁无遮拦啪啪漫画 | 草草久久久无码国产专区全集观看 | 一本色道久久综合亚洲精品蜜桃冫 | 美女洗澡脱得一二干净 | 国产亚洲欧美在线中文BT天堂网 | 午夜特级毛片 | 久久这里的只有是精品23 | 九九精品国产亚洲A片无码 九九精彩视频在线观看视频 | 免费在线亚洲视频 | 久久中文字幕人妻AV熟女 | 超级乱淫片午夜电影网99 | 欧美国产日韩久久久 | 噜噜噜狠狠夜夜躁 | 男人扒开添女人下部口述 |