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

資訊專欄INFORMATION COLUMN

《Javascript高級(jí)程序設(shè)計(jì) (第三版)》第三章 基本概念

caige / 1080人閱讀

摘要:如在上列中結(jié)果實(shí)際上是給定數(shù)字的字符串形式無(wú)效語(yǔ)法有效語(yǔ)法在上列中結(jié)果是因?yàn)榈谝粋€(gè)被視為的一部分,第二個(gè)是屬性訪問(wèn)運(yùn)算符。用于檢查傳入的對(duì)象是否是傳入對(duì)象的原型第章將討論原型。返回對(duì)象的字符串表示。

只挑本人重要的寫(xiě)(有夾雜其他補(bǔ)充)

3.1 語(yǔ)法 注釋
 單行注釋以兩個(gè)斜杠開(kāi)頭,如下所示:
    // 單行注釋
 塊級(jí)注釋以一個(gè)斜杠和一個(gè)星號(hào)( /* )開(kāi)頭,
    以一個(gè)星號(hào)和一個(gè)斜杠( */ )結(jié)尾,如下所示:
    /*
    * 這是一個(gè)多行
    * (塊級(jí))注釋
    */

嚴(yán)格模式(一些不確定的行為將得到處理,而且對(duì)某些不安全的操作也會(huì)拋出錯(cuò)誤)

 要在整個(gè)腳本中啟用嚴(yán)格模式可以在頂部添加如下代碼:
   "use strict";
   在函數(shù)內(nèi)部的上方包含這條編譯指示,也可以指定函在嚴(yán)格模式下執(zhí)行:
   function doSomething(){
   "use strict";
   //函數(shù)體
   }

語(yǔ)句
ECMAScript 中的語(yǔ)句以一個(gè)分號(hào)結(jié)尾;如果省略分號(hào),則由解析器確定語(yǔ)句的結(jié)尾

3.2 變量

描述: ECMAScript 的變量是松散類型的,所謂松散類型就是可以用來(lái)保存任何類型的數(shù)據(jù)。
簡(jiǎn)單來(lái)說(shuō),每個(gè)變量?jī)H僅是一個(gè)用于保存值的占位符而已。

注意
用 var 操作符定義的變量將成為定義該變量的作用域中的局部變量。簡(jiǎn)單來(lái)說(shuō),如果在函數(shù)中使用 var 定義一個(gè)變量,那么這個(gè)變量在函數(shù)退出后就會(huì)被銷毀

 function test(){
    var message = "hi"; // 局部變量
  }
  test();
  alert(message); // 錯(cuò)誤
  
3.3 數(shù)據(jù)類型 typeof操作符

可能會(huì)返回以下結(jié)果字符串:

"undefined"——如果這個(gè)值未定義;
 "boolean"——如果這個(gè)值是布爾值;
 "string"——如果這個(gè)值是字符串;
 "number"——如果這個(gè)值是數(shù)值;
 "object"——如果這個(gè)值是對(duì)象或null;
 "function"——如果這個(gè)值是函數(shù)。
注意: 
 a.對(duì)null返回是"object"。
     typeof null // object;
 b.不能區(qū)分對(duì)象、數(shù)組、正則,對(duì)它們操作都返回"object"。
     typeof Number()// object;
 c.對(duì)NaN返回是"number"    
     typeof parseInt("你") === "number" //true              
Undefined類型

描述:聲明變量但未對(duì)其加以初始化時(shí),這個(gè)變量的值就是 undefined。

 下面幾種情況會(huì)出現(xiàn)undefined:
     訪問(wèn)數(shù)組或?qū)ο蟛淮嬖诘某蓡T
     定義的變量未賦值。
     函數(shù)沒(méi)有返回值,或return后沒(méi)有數(shù)據(jù)。
 注意:
     var a; // undefined
     b      // ReferenceErroe:b is not defined;
     typeof a; // undefined;
     typeof b; // undefined;          
Null類型

描述: 表示一個(gè)空對(duì)象指針; var car = null; alert(typeof car); //
"object" 如果定義的變量準(zhǔn)備在將來(lái)用于保存對(duì)象,那么最好將該變量初始化為 null 而不是其他值。

注意:
     console.log(null == undefined) // true;
     console.log(null === undefined) //false
判斷值是否為null:
    var a = null;
    (!a && typeof a === "object");// true;   
Boolean類型

可轉(zhuǎn)轉(zhuǎn)化布爾類型:

  a.假值
     undefined、null、false、+0、-0、NaN、"";
  b、假值對(duì)象
     var a = new Boolean(false);
     var b = new Number(0);
     var c = new String("");
     var d = Boolean(a && b && c );
     d // true;
     var e = a && b && c;
     e // String {length: 0[[PrimitiveValue]]: ""};
 
Number類型

描述: 表示整數(shù)和浮點(diǎn)數(shù)值(雙精度64位二進(jìn)制); 整數(shù)就是沒(méi)有小數(shù)的十進(jìn)制數(shù)。所以42.0即等于“整數(shù)”42。

數(shù)字語(yǔ)法

a.十進(jìn)制:

var a = 42; 
var b = 42.3;

b.前面的0可以省略:

var a = 0.42;
var b = .42;

c.小數(shù)點(diǎn)部分最后的0也可以省略

var a = 42.0;
var b = 42.;

d.默認(rèn)情況下大部分?jǐn)?shù)字都以十進(jìn)制顯示,小數(shù)部分最后的0被省略

var a = 42.3000 // 42.3
var b = 42.0 // 42     

e.特別大與特別小的數(shù)字默認(rèn)用指數(shù)顯示

var a = 5E10;
a; // 50000000000
a.toExponential(); // "5e+10"
 
var b = a * a;
b; // 2.5e+21
 
var c = 1/a;
c; // 2e-11        

f.由于數(shù)字可以使用Number對(duì)象進(jìn)行封裝,可以調(diào)用Number.prototype方法。如:

var a = 42.59;
a.toFixed(0); // "43"
a.toFixed(1); // "42.6";
a.toFixed(3); // "42.590"
在上列中結(jié)果實(shí)際上是給定數(shù)字的字符串形式    
// 無(wú)效語(yǔ)法
42.toFixed(3); // SyntaxError
//有效語(yǔ)法
(42).toFixed(3);
0.42.toFixed(3);
42..toFixed(3);
在上列中結(jié)果是因?yàn)榈谝粋€(gè).被視為number的一部分,第二個(gè).是屬性訪問(wèn)運(yùn)算符。      

較小的數(shù)值:(這是二進(jìn)制浮點(diǎn)數(shù)最大的問(wèn)題)

0.1 + 0.2 === 0.3; // false

解決方法(判斷兩數(shù)是否相等):
function numbersCloseEnoughToEqual(n1,n2) {
    return Math.abs(n1 - n2 ) < Math.pow(2,-52);
}

整數(shù)的安全范圍:

  Number.MAX_SAFE_INTEGER = 2^53 -1;
  Number.MIN_SAFE_INTEGER = -(2^53 -1);
  如數(shù)據(jù)庫(kù)中的64位ID等,由于JavaScript的數(shù)值類型無(wú)法精確呈現(xiàn)64位數(shù)值,所以必須將它保存為字符串。     

整數(shù)檢測(cè):

 Number.isInteger = function(num) {
     return typeof num === "number" && num % 1 === 0;
 }   

- 檢測(cè)是否是安全整數(shù):

Number.isSafeInteger = function(num) {
    return Number.isInteger(num) && Math.abs(num) <= Number.MAX_SAFE_INTEGER;
}

特殊的數(shù)字:

描述:數(shù)學(xué)運(yùn)算的操作數(shù)不是數(shù)字類型,無(wú)法返回一個(gè)有效的數(shù)字,會(huì)返回NaN。

a.不是數(shù)字的數(shù)字

var a = 2/"foo"; // NaN
typeof a === "number"; // true
不是數(shù)字的數(shù)字是數(shù)字類型。
注意:
    NaN是一個(gè)特殊值,他和自身不相等;
    NaN != NaN; // true
    
可用isNaN()來(lái)判斷(但有個(gè)bug):
var a = 2 / "foo"
isNaN(a); // true                      
var b = "foo";
isNaN(b); // true
isNaN()檢查參數(shù)是否不是NaN,也不是數(shù)字。
解決:
Number.isNaN = function(n){
    return (typeof n === "number" && window.isNaN(n))
}          

b.無(wú)窮數(shù)

 var a = 1 /0; // Infinity
 var b = -1/0; // -Infinity
 Infinity/Infinity; // NaN
 1/Infinity; // 0
 -1/Infinity; // -0                       

c.零值

var a = 0/ -3; //-0
var b = 0 * -3; // -0

a.toString(); // "0"
a + ""; // "0"
String(a); // "0"
JSON.stringfy(a); // "0"

+"-0"; // -0
Number("-0"); // -0
JSON.parse("-0"); // -0

-0 == 0; // true
-0 === 0; // true
0 > -0; // false

區(qū)分 -0 和 0:
   function isNegZero(n) {
       var n = Number(n);
       return (n === 0) && (1/n === -Infinity);
   }                                          
String類型

特點(diǎn): 字符串是不可變的,也就是說(shuō),字符串一旦建, 它們的值就不能改變。
要改變某個(gè)變量保存的字符串,首先要銷毀原來(lái)的字符串,然后再用另一個(gè)包含新值的字符串填充該變量

轉(zhuǎn)換字符串:

基本類型值的轉(zhuǎn)化規(guī)則為:
null轉(zhuǎn)化為"null",
undefined轉(zhuǎn)化為"undefined",
true轉(zhuǎn)化為"true",
數(shù)字的字符串化則遵循通用規(guī)則,
數(shù)組的默認(rèn)toString(),將所有單元字符串化后再用","鏈接起來(lái)。

JSON字符串化

注意:
a.JSON字符串化并非嚴(yán)格意義上的強(qiáng)制類型轉(zhuǎn)換。
    序列化的結(jié)果總是字符串 
    JSON.stringify("42"); // ""42""
    JSON.stringify()在對(duì)象遇到undefined、function 和 symbol 時(shí)會(huì)自動(dòng)將其忽略,在數(shù)組中返回null(以保證單元位置不變)                       
    JSON.stringify(undefined);// undefined
    JSON.stringify([1,undefined,function(){},4]); // "[1,null,null,4]"
    JSON.stringify({a:2,b:function(){}}) // "{"a":2}"
  
b.如果傳遞給JSON.stringify()的對(duì)象定義了toJSON()方法,該方法會(huì)在字符串前調(diào)用,以便將對(duì)象轉(zhuǎn)換為安全的JSON值。
             

Object類型

Object 的每個(gè)實(shí)例都具有下列屬性和方法:

constructor :保存著用于創(chuàng)建當(dāng)前對(duì)象的函數(shù)。
hasOwnProperty(propertyName) :用于檢查給定的屬性在當(dāng)前對(duì)象實(shí)例中(而不是在實(shí)例的原型中)是否存在。其中,作為參數(shù)的屬性名( propertyName )必須以字符串形式指定(例如: o.hasOwnProperty("name") )。
isPrototypeOf(object) :用于檢查傳入的對(duì)象是否是傳入對(duì)象的原型(第 5 章將討論原型)。
propertyIsEnumerable(propertyName) :用于檢查給定的屬性是否能夠使用 for-in 語(yǔ)句來(lái)枚舉。與 hasOwnProperty() 方法一樣,作為參數(shù)的屬性名必須以字符串形式指定。
toLocaleString() :返回對(duì)象的字符串表示,該字符串與執(zhí)行環(huán)境的地區(qū)對(duì)應(yīng)。
toString() :返回對(duì)象的字符串表示。
valueOf() :返回對(duì)象的字符串、數(shù)值或布值表示。通常與 toString() 方法的返回值相同。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/89519.html

相關(guān)文章

  • 004-讀書(shū)筆記-JavaScript高級(jí)程序設(shè)計(jì) 基本概念(下)

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

    nevermind 評(píng)論0 收藏0
  • 如果想成為一名頂尖的前端,這份書(shū)單你一定要收藏!

    摘要:其中負(fù)載均衡那一節(jié),基本上是參考的權(quán)威指南負(fù)載均衡的內(nèi)容。開(kāi)發(fā)指南讀了一半,就是看這本書(shū)理解了的事件循環(huán)。哈哈創(chuàng)京東一本騙錢(qián)的書(shū)。 歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術(shù)實(shí)踐干貨哦~ 本文由騰訊IVWEB團(tuán)隊(duì) 發(fā)表于云+社區(qū)專欄作者:link 2014年一月以來(lái),自己接觸web前端開(kāi)發(fā)已經(jīng)兩年多了,記錄一下自己前端學(xué)習(xí)路上看過(guò)的,以及道聽(tīng)途說(shuō)的一些書(shū),基本上按照由淺入深來(lái)介紹...

    callmewhy 評(píng)論0 收藏0
  • 如果想成為一名頂尖的前端,這份書(shū)單你一定要收藏!

    摘要:其中負(fù)載均衡那一節(jié),基本上是參考的權(quán)威指南負(fù)載均衡的內(nèi)容。開(kāi)發(fā)指南讀了一半,就是看這本書(shū)理解了的事件循環(huán)。哈哈創(chuàng)京東一本騙錢(qián)的書(shū)。 歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術(shù)實(shí)踐干貨哦~ 本文由騰訊IVWEB團(tuán)隊(duì) 發(fā)表于云+社區(qū)專欄作者:link 2014年一月以來(lái),自己接觸web前端開(kāi)發(fā)已經(jīng)兩年多了,記錄一下自己前端學(xué)習(xí)路上看過(guò)的,以及道聽(tīng)途說(shuō)的一些書(shū),基本上按照由淺入深來(lái)介紹...

    Scliang 評(píng)論0 收藏0
  • 如果想成為一名頂尖的前端,這份書(shū)單你一定要收藏!

    摘要:其中負(fù)載均衡那一節(jié),基本上是參考的權(quán)威指南負(fù)載均衡的內(nèi)容。開(kāi)發(fā)指南讀了一半,就是看這本書(shū)理解了的事件循環(huán)。哈哈創(chuàng)京東一本騙錢(qián)的書(shū)。歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術(shù)實(shí)踐干貨哦~ 本文由騰訊IVWEB團(tuán)隊(duì)發(fā)表于云+社區(qū)專欄 作者:link 2014年一月以來(lái),自己接觸web前端開(kāi)發(fā)已經(jīng)兩年多了,記錄一下自己前端學(xué)習(xí)路上看過(guò)的,以及道聽(tīng)途說(shuō)的一些書(shū),基本上按照由淺入深來(lái)介紹。...

    233jl 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<