DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript基礎知識 >> javascript 高級程序設計 三
javascript 高級程序設計 三
編輯:JavaScript基礎知識     

Sorry,前兩張介紹的主題還是JavaScript,而第一章介紹了JavaScript和ECMAScript區別,所以前兩章介紹的主題應該改為ECMAScript,但是

標題就不改了因為現在人們習慣性稱之為JavaScript,所以以後的我會在內容中區分清楚。

好了,那我們這一次的主題就是ECMAScript的高級概念:

1、嚴格模式

  嚴格模式是在ECMAScript 5中引入的概念,目的是為ECMAScript中定義一種不同的解析和執行模型,來解決JS中的一些不嚴謹的行為如:

一條語句的後面沒有加;等不嚴謹但是可用的行為。寫法:

    在js文件的開頭添加上"use strict";

    或者是在函數內部上方包含這條編譯指令:

    function func(){

      "use strict";

    }

2、變量:

  (1)、在函數中使用var定義的變量都是局部變量,不用var定義的都是全局變量如:

  function func(){

    var temp = 0;

 

  }

  alert(temp);//出現錯誤

而:

  function func(){

    temp = 10;

  }

  alert(temp);// 10

所以我們在以後的項目編寫中一定要注意,var這個占位符的使用。

  (2)、ECMAScript中的簡單數據類型:Undefined,Null,Boolean,Number和String,還有一個復雜數據類型Object,

想查看所定義變量的數據類型,可以使用typeOf這個操作符,如 :

  typeOf(true)----boolean;//一下有一個boolean對正表。

  typeOf(10)------number;//

  typeOf(null)-----object;//null只是一個特殊指“null”,表示一個空對象指針,所以我們在聲明一個對象的時候建議先給初始化null;var obj = null;

  typeOf(wang)---undefined;//只是一個特殊值"undefined",就是指變量被var聲明但是沒有初始化

  typeOf('wang')---string;

數據類型 轉換為true的值 轉化成false的值 String 任何非空字符串 ""(空字符串) Number 任何非0數字包括無窮大 0或NaN Object 任何不是Null的對象 null            

 

 

 

 

 

 

  (3)、number:在所有基於IEEE754的數值的浮點計算,那麼就不可以測試了和某個特定的浮點數相等,如:

  var a =0.1,b = 0.2;

  if(a+b == 0.3){//這種測試不要做,因為浮點小數想加在IEEE754中會產生誤差。

    alert('a加b等於0.3');

  }

  isNaN()方法:可以檢測參數是否可以轉化為Number類型,並且NaN和任何數都不相等,所以不要用以下方法來判斷放回是否為NaN

    var a = 3/0;

    if(a == NaN){//這種判斷方式是不正確的

      alert('不合法');

    }

  Number();數值轉化方法,規則太羅索了,給出幾個例子把:

    Number(false);//0

    Number(null);//0

    Number(undefiined);//NaN

    Number("999xxx");//NaN

    Number("0xf");//15

    Number("abc");//NaN

  parseInt();處理整數,直接看例子:

    parseInt("1234bbb");//1234

    parseInt("");//NaN

    parseInt("0xA",16);//10,推薦使用parseInt的時候都加上轉換使用的基數

    parseInt("AF");//NaN

    parseInt("AF",16)//175

  (4)、Object的屬性和方法

    Constructor:保存著用於創建當前對象的函數

    hasOwnProperty(propertyName);用於檢查指定的屬性是否在當前的對象實例中,propertyName必須是以字符串格式出現

    isPrototypeOf(object);用於檢查傳入的對象是否是另一個對象的原型

    propertyIsEnumerable(propertyName);用於判斷給定的屬性是否可以用for-in的語句來便利

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved