国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

《JavaScript高級程序設計》筆記:基本概念(三)

jas0n / 1105人閱讀

摘要:數據類型中有種簡單數據類型也稱為基本數據類型和。因為特殊值被認為是一個空的對象引用。盡管和有這樣的關系,但它們的用途完全不同。這樣做不僅可以體現作為空對象指針的慣例,而且也有助于進一步區分和。

數據類型

ECMAScript中有5種簡單數據類型(也稱為基本數據類型):undefined,null,boolean,number和string

typeof

typeof null會返回“object”。因為特殊值null被認為是一個空的對象引用。

undefined

undefined類型只有一個值,即特殊的undefined。在使用var聲明變量,但沒有對變量進行初始化時,這個變量的值就是undefined。

對未初始化的變量執行typeof操作符會返回undefined,而對未聲明的變量執行typeof操作符同樣也會返回undefined。

var message;
alert(typeof message); // undefined
alert(typeof age); // undefined
null

null類型是第二個只有一個值的數據類型,這個特殊的值是null。從邏輯角度上看,null值表示一個空對象指針,而這也正是使用typeof操作符檢測null值會返回“object”的原因。

alert(null==undefined); // true

這里,位于null和undefined之間的相等操作符(==)總是返回true。

盡管null和undefined有這樣的關系,但它們的用途完全不同。如前所述,無論在什么情況下都沒有必要把一個變量顯式地設置為undefined,可是同樣的規則對null卻不適用。換句話說,只要意在保存對象的變量還沒有真正保存對象,就應該明確地讓該變量保存null值。這樣做不僅可以體現null作為空對象指針的慣例,而且也有助于進一步區分null和undefined。

Boolean類型

該類型只有兩個字面值:true和false。這2個值跟數字值不是同一回事,因為true不一定等于1,false不一定等于0。該類型的2個值是區分大小寫的。
雖然Boolean類型只有兩個字面值,但ECMAScript所有類型的值都有與這兩個Boolean值等價的值。要將一個值轉換為其對應的Boolean值,可以調用轉型函數Boolean()。

var message="hello world!";
var messageAsBoolean=Boolean(message);
console.log(messageAsBoolean);// true
Number類型 浮點數值

浮點數值的最高精度是17位小數,但在進行算術計算時其精確度遠不如整數。例如,0.1加0.2的結果不是0.3,而是0.300000000000000004,這個小小的舍入誤差會導致無法測試特定的浮點數值。

var a=0.2,b=0.1;
    if(a+b==0.3){
        console.log("you got 0.3.");
    }

我們測試這兩個數的和不等于3,如果這2個數是0.25和0.05,或者是0.15和0.15,結果都是沒有問題的。如果是0.1和0.2,那么測試無法通過。因此,永遠不要測試某個特定的浮點數值。

NaN

NaN的兩個特點,一是任何涉及NaN的操作(例如NaN/10)都會返回NaN,這個特點在多步計算中有可能導致問題。其次,NaN與任何值都不相等,包括NaN本身。

isNaN()函數接收一個參數,該參數可以是任何類型,而函數會幫我們確定這個參數是否“不是數值”,isNaN()在接收這個值后,會嘗試將這個值轉換為數值。而任何不能被轉換為數值的值都會導致這個函數返回true.

alert(NaN==NaN); // false
alert(isNaN(isNaN)); // true
alert(isNaN(10)); // false
alert(isNaN("10")); // false
alert(isNaN("blue")); // true
alert(isNaN(true)); // false
數值轉換

Number(), parseInt(),parseFloat()

Number()函數的轉換規則如下:

如果boolean值,true和false將分別被轉換為1和0

如果是數字值,只是簡單的傳入和返回

如果是null值,返回0

如果是undefined,返回NaN

操作符 一元操作符 遞增和遞減操作符

執行前置遞增和遞減操作時,變量的值都是在語句被求值以前改變的。(在計算機科學領域,這種情況通常被稱為副效應

var age = 29;
var anotherAge = --age +2;

alert(age); // 28
alert(anotherAge); // 30

由于前置遞增和遞減操作與執行語句的優先級相等,因此整個語句會從左至右被求值。

var num1 = 2;
var num2 = 20;
var num3 = --num1 + num2; // 等于21
var num4 = num1 + num2; // 等于21

后置型遞增和遞減操作符的語法不變(仍然分別是++和--),只不過要放在變量的后面而不是前面。后置遞增和遞減與前置遞增和遞減有一個非常重要的區別,即遞增和遞減操作是在包含他們的語句被求值之后才執行的。

var num1 = 2;
var num2 = 20;
var num3 = num1-- + num2; // 等于22
var num4 = num1 + num2; // 等于21
一元加和減操作符

在對非數值應用一元加操作符時,該操作符會像Number()轉型函數一樣對這個值執行轉換。換句話說,布爾值false和true將被轉換為0和1,字符串值會被按照一組特殊的規則進行解析,而對象是先調用它們的valueOf()和toString()方法,再轉換得到的值。

var s1 = "01";
var s2 = "1.1";
var s3 = "z";
var b = false;
var f = 1.1;
var o = {
    valueOf : function(){
         return -1;
    }
}

s1 = +s1; // 1
s2 = +s2; // 1.1
s3 = +s3; // NaN
b = +b; // 0
f = +f; // 1.1
o = +o; // -1

一元減操作符只要用于表示負數,例如將1轉換成-1。

一元加和減操作符只要用于基本的算術運算,也可以像前面的示例所展示的一樣用于轉換數據類型。

加性操作符

加法

var result1 = 5+5;
alert(result1); // 10

var result2 = 5+"5";
alert(result2); // "55"

減法

var result1 = 5 - true; //4
var result2 = NaN -1; // NaN
var result3 = 5-3; //2
var result4 = 5 - ""; //5
var result5 = 5 - "2"; // 3
var result6 = 5 - null; // 5
相等操作符
null == undefined; // true
"NaN" == NaN; // false
5 == NaN; // false
NaN == NaN; // false
NaN != NaN; // true
false ==0; // true
true == 1; // true
true == 2; // false
undefined ==0; false
null ==0; false
"5"==5; // true

記住:null == undefined會返回true,因為它們是類似的值;但null===undefined會返回false,因為它們是不同類型的值。

函數
function sum(num1, num2){
    return num1 + num2;
    alert("Hello world"); // 永遠不會放棄
}

這個函數會在執行完return 語句之后停止并立即退出。因此,位于return 語句之后的任何代碼都不會執行。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/87584.html

相關文章

  • JavaScript高級程序設計筆記基本概念

    摘要:一寫在前面最近重讀高級程序設計,總結下來,查漏補缺。但這種影響是單向的修改命名參數不會改變中對應的值。這是因為對象的長度是由傳入的參數個數決定的,不是由定義函數時的命名參數的個數決定的。實際改變會同步,改變也會同步 一、寫在前面 最近重讀《JavaScript高級程序設計》,總結下來,查漏補缺。 二、JS簡介 2.1 JS組成 ECMAscript:以ECMA-262為基礎的語言,由...

    ygyooo 評論0 收藏0
  • JavaScript高級程序設計學習筆記基本語法)

    摘要:數據類型中有種簡單數據類型也稱為基本數據類型和。在中非空字符串,非零數字,任意對象,都被認為。而空字符串,和,,認為是。用于表示整數和浮點數。標識符由數字字母下劃線美元符組成,但首字母不能是數字。變量方法對象命名推薦駝峰法。 JavaScript語法 一.語法簡介 因為JavaScript語法和Java等語法非常類似。所以只是簡單介紹一下。 大小寫 JavaScript是大小寫敏感的語...

    Mike617 評論0 收藏0
  • javascript高級程序設計筆記:內存與執行環境

    摘要:因此,所有在方法中定義的變量都是放在棧內存中的當我們在程序中創建一個對象時,這個對象將被保存到運行時數據區中,以便反復利用因為對象的創建成本通常較大,這個運行時數據區就是堆內存。 上一篇:《javascript高級程序設計》筆記:繼承近幾篇博客都會圍繞著圖中的知識點展開 showImg(https://segmentfault.com/img/bVY0C4?w=1330&h=618);...

    fuyi501 評論0 收藏0
  • 004-讀書筆記-JavaScript高級程序設計 基本概念(下)

    摘要:操作符,會將數值改變正數變成負數負數變成正數。同時,也說明了,使用兩個邏輯非操作符和的操作結果相同。操作符得到的是余數。不相等操作符有兩種。 這篇筆記的內容對應的是《JavaScript高級程序設計(第三版)》中的第三章。 1.操作符 1-1 一元操作符 遞增和遞減操作符 遞增和遞減操作符有兩個 ++ 和 --。一元操作符使用的時候,可以前置也可以后置。由于兩個操作方式類似,先只說明 ...

    nevermind 評論0 收藏0
  • JS高級程序設計(1-3章)-筆記

    摘要:寫在前面本文記錄的是我不熟悉或者我認為值得注意的地方,并不是書上知識點的概括。再就是畫圖這種。與瀏覽器沒有依賴關系。 寫在前面 本文記錄的是我不熟悉或者我認為值得注意的地方,并不是書上知識點的概括。 第1章 JavaScript簡介 JS誕生時間:1995年(好年輕...) JS誕生背景:表單數據合法性由服務端驗證的用戶體驗不好,希望能在客戶端進行驗證 JS現在用處:如果沒有...

    Cristic 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<