javascript基礎編程の變數、對象、資料類型及函數,javascript

來源:互聯網
上載者:User

javascript基礎編程の變數、對象、資料類型及函數,javascript

    在web標準中,網頁由結構、表現形式和行為三個部分組成。

    結構標準---->XHTML;

    表現形式標準----->CSS;

    行為標準----->javascript;

    javascript是一種專門設計用來給網頁增加互動性的程式設計語言,最初由Netscape公司開發,最後提交給了歐洲電腦製造商協會(ECMA)。

   一、javascript特點:

    1、javascript是一門解釋型語言,這意味著javascript代碼不需要預先編譯就可以執行。

    2、javascript不能瀏覽器外用獨立運行

    3、javascript不允許讀寫使用者的檔案(cookie除外),採用同源策略,只允許來自相同域的互動。

    二、javascript能做什麼

    1、給程式員一種全面控制HTML網頁中所有元素的能力;

    2、可以在HTML網頁中放入動態文本;

    3、響應使用者在使用網頁中產生的事件

    4、校正用於輸入的資料

    5、檢測訪問者的瀏覽器

    6、建立cookie

    三、javascript添加到XHTML網頁中的方式

    1、內嵌

    2、外聯

    3、事件引入

    事件引入,簡單樣本:

<!doctype html><html lang="en"> <head>  <meta charset="UTF-8">  <meta name="Generator" content="EditPlus®">  <meta name="Author" content="">  <meta name="Keywords" content="">  <meta name="Description" content="">  <title>Document</title> </head> <body>  <form action="#" method="get"><input type="button" value="press me" onclick="alert('hello world');"/>  </form> </body></html>
    四、變數

    javascript是弱類型的,定義變數時無需明確的資料類型聲明,而且變數並一定要初始化

var test1 = 'hi',test2='hi';var sex = 'male',age=12;var test;
    五、資料類型

    分數字型和非數字型

    非數字型:undefined、null、NaN、boolean、string

    數字型:number

    1、類型特徵:

    (1)、undefined不是報錯,它也是一種類型,並且這種類型的值就是undefined,如

var temp;
    temp的類型為undefined,值也為undefined;

    (2)、當變數未聲明後者函數無返回值的時候,都會體現為undefined;

    (3)、使用一個未聲明的變數將會報錯;  

    (4)、typeof不區分未賦值的變數和未聲明的變數;

var temp1;alert(typeof temp1);//undefinedalert(typeof temp2);//undefinedalert(temp2==undefined);//報錯

    (5)、undefined是由null派生出來,因此javascript把它們定義為相等;

alert(null==undefined);//true

    (6)、NaN不能用於算術計算,並且它與自身不相等
     2、資料類型轉換

    javascript中一切資料其實都是一個偽對象,這意味著實際上它們具有屬性和方法。

   (1)、將boolean值、數字值轉換為字串最簡單的方法toString()。

var bFound = false;alert(bFound.toString());//'false'var iNum = 10;var gNum = 10.0;alert(iNum.toString());//'10'alert(gNum.toString());//'10'
    (2)對於非數位原始值,javascript提供了parseInt()和parseFloat()方法轉換為數位方法。

      只有對包含數位string類型調用這些方法,它們才能正確運行;對其他類型或純字元類型返回的都是NaN。

parseInt('1234blue');//1234parseInt('0xA');//10parseInt('22.5');//22parseInt('blue');//NaNparseFloat('1234blue');//1234.0parseFloat('0xA');//0parseFloat('22.5');//22.5parseFloat('22.345');//22.345parseFloat('0908');//908parseFloat('blue');//NaN
    (3)強制轉換

    使用強制轉換可以訪問特定類型的值,即使它是另一種類型的。

     Boolean(value);

     Number(value);

     String(value);

    當要轉換的值是至少有一個字元的字串、非零數字或對象時,Boolean()函數將返回true。如果該值是Null 字元串、數字0、undefined或null,它將返回false。可以用下面的程式碼片段測試Boolean型的強制類型轉換。

Boolean('');//falseBoolean('hi');//trueBoolean(100);/trueBoolean(null);//falseBoolean(0);//falseBoolean(new Object());/true
    Number()的強制類型轉換與parseInt()和parseFloat()方法處理方式相似,只是它轉換的是整個值,而不是部分值。例如:

parseInt('4.2.6');//4parseFloat('4.2.6');//4.2Number('4.2.6');//NaN
    因為整個字串值不能轉換為數字,所以為非數(NaN)。

    如果字串的值能被完整的轉化,Number()將判斷調用parseInt()還是調用parseFloat()方法。

Number(false);//0Number(true);//1Number(undefined);//NaNNumber(null);//0Number('2.5');//2.5Number('56');//56Number('2.2.7');//NaNNumber(new Object());//NaNNumber(100);//100
    String()是最簡單的,因為它可以把任何值轉換為字串。要執行這種強制類型轉換,只需要調用作為參數傳遞進來的值得toString()方法。

String(null);//'null'String(1);//'1'String(false);//'fasle'String(undefined);//'undefined'
    3、引用資料類型

    原生對象:由javascript提供的,獨立於宿主環境的對象,簡單點說,就是在ECMA-262標準中定義的對象。它包括Object、Function、Boolean、Date、Number、Error....

    內建對象:內建對象實際上也是原生對象的一種,但是與原生對象不同的是,內建對象不需要顯式地初始化,因為它已經初始化了。ECMA-262隻定義了兩個內建對象:Globle和Math;

    宿主對象:與瀏覽器有關的對象。所有BOM和DOM對象都屬於宿主對象。

    4、javascript類
    (1)object類

    object類具有以下屬性:

    constructor-----對建立對象的函數的引用。對於Object類,該引用指向原生的object()函數;

    prototype-----對該對象的對象原型的引用。對於所有的類,它預設返回Object類的一個執行個體。

    Object還有以下方法:

    hasOwnProperty(property)------判斷對象是否具有某個特定的屬性。必須用字串指定該屬性。

    isPrototypeOf(boject)------判斷該對象是否為另一個對象的原型。

    propertyIsEnumerable(property)------判斷給定的屬性是否可以用for...in語句進行枚舉。

    toString()------返回對象的原始字串表示。

    valueOf()------返回最適合該對象的原始值。

    (2)未經處理資料類型封裝器類

    javascript中的Boolean、Number、String類分別是javascript未經處理資料類型Boolean、Number、String的封裝器類。

    (3)Array類

var colors = new Array('red','blue','yellow');colors[25]='black';alert(colors.length);//26
    其中下為3----24的值為null。

    (4)Global類

    Global類是javascript中最特別的對象,它不需要聲明和初始化。

    eval()方法是javascript中最強大的方法,該方法就像整個javascript的解釋程式,接受一個參數,即要執行的javascript字串;

eval(alert('hello'));等價於alert('hello');//hello;var msg = 'hello world';eval('alert(msg)');//msgeval("function go(){'say hi'}");go();//say hi
    (5)instanceof運算子

    在使用typeof運算子時採用參考型別儲存值會出現一個問題,無論引用的是什麼類型的對象,它都返回“object”。而與typeof不同,instanceof方法要求開發人員明確地確認對象為某個特定的類型。

var o = new String('hello world');alert(o instanceof String);//true
    六、函數

    如果函數無明確的返回值,或調用了沒有參數的return語句,那麼它真正返回的值是undefined。




   



javascript的基礎資料類型是什,都有什用?

javascript是弱資料類型,支援資料類型的自動轉換,不管是一個int 或是String 都用var 來定義
沒有java那樣的int i,String s之類的定義方法,只有一個 var i ,var s.一個Dom 對象也可以用var來定義~~
 
Javascript使用什方法可以獲得變數的資料類型?

用typeof(var) 來返回一個資料類型
返回的可能值有
'undefined' - 如果變數是 Undefined 類型的
'boolean' - 如果變數是 Boolean 類型的
'number' - 如果變數是 Number 類型的
'string' - 如果變數是 String 類型的
'object' - 如果變數是一種參考型別或 Null 類型的

if(typeof(123)=='number')alert('this is a number')
以此類推
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.