成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

高程3總結(jié)#第3章基本概念

Rindia / 1370人閱讀

摘要:基本概念語(yǔ)法區(qū)分大小寫(xiě),中的一切變量函數(shù)名和操作符都區(qū)分大小寫(xiě)。要將一個(gè)值轉(zhuǎn)換成對(duì)應(yīng)的值,可以調(diào)用類型包括整數(shù)和浮點(diǎn)數(shù)值,基本數(shù)值字面量格式是十進(jìn)制整數(shù),除了十進(jìn)制外還有八進(jìn)制十六進(jìn)制。八進(jìn)制第一位必須是,十六進(jìn)制第一位必須是。

基本概念 語(yǔ)法

區(qū)分大小寫(xiě),ECMAScript中的一切(變量、函數(shù)名和操作符)都區(qū)分大小寫(xiě)。函數(shù)名不能使用typeof,因?yàn)樗且粋€(gè)關(guān)鍵字,但typeOf可以。

標(biāo)識(shí)符,指的是變量、函數(shù)、屬性的名字,或者函數(shù)的參數(shù)。第一個(gè)字符必須是一個(gè)字母、下劃線或者$符號(hào)。不能將關(guān)鍵字、保留字、true、false和null用作標(biāo)識(shí)符。

注釋,包括單行注釋和跨級(jí)注釋。單行注釋以兩個(gè)斜桿開(kāi)頭,塊級(jí)注釋以一個(gè)斜杠和一個(gè)星號(hào)開(kāi)頭,以一個(gè)星號(hào)和一個(gè)斜杠結(jié)尾。

嚴(yán)格模式為JavaScript定義了一種不同的分析與執(zhí)行模式。

function doSomething(){
  "use stric";
  //函數(shù)體
};

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

關(guān)鍵字和保留字

關(guān)鍵字可用于表示控制語(yǔ)句的開(kāi)始或者結(jié)束,或者用于執(zhí)行特定操作等。 關(guān)鍵字是語(yǔ)言保留的,不能用作標(biāo)識(shí)符。

變量

變量是松散型的,可以保存任何類型的數(shù)據(jù)。定義變量的時(shí)候要使用var操作符。

數(shù)據(jù)類型

typeof操作符。"undefined"這個(gè)值未定義、"boolean"這個(gè)值是布爾值、"string"這個(gè)值是字符串、"number"這個(gè)值是數(shù)值、"object"這個(gè)值是對(duì)象或者null、"function"這個(gè)值是函數(shù)。

Undefined類型只有一個(gè)值,就是特殊的undefined。在使用var聲明變量但未對(duì)其加以初始化時(shí),這個(gè)變量的值就是undefined。一般不存在需要把一個(gè)變量設(shè)置為undefined的情況,字面值undefined的主要目的是用于比較。

var message;//這個(gè)變量聲明之后默認(rèn)取得了undefined值
//下面這個(gè)變量并沒(méi)有聲明
//var age
alert(message);//"undefined"
alert(age);//報(bào)錯(cuò)
alert(typeof message);//"undefined"
alert(typeof age);//"undefined"

Null類型只有一個(gè)值,就是特殊的null,從邏輯角度看,null值是一個(gè)空對(duì)象指針,因此用typeof操作符檢測(cè)null值時(shí)會(huì)返回"object"。undefined是派生自null的。

alert(null==undefined);//true

Boolean類型有兩個(gè)值,true和false。要將一個(gè)值轉(zhuǎn)換成對(duì)應(yīng)的Boolean值,可以調(diào)用Boolean()

Number類型包括整數(shù)和浮點(diǎn)數(shù)值,基本數(shù)值字面量格式是十進(jìn)制整數(shù),除了十進(jìn)制外還有八進(jìn)制十六進(jìn)制。八進(jìn)制第一位必須是0,十六進(jìn)制第一位必須是0x。

浮點(diǎn)數(shù)值中必須包含一個(gè)小數(shù)點(diǎn),并且小數(shù)點(diǎn)后面必須至少有一位數(shù)字。保存浮點(diǎn)數(shù)值需要的內(nèi)存空間是保存整數(shù)的兩倍。

ECMAScript 能夠表示的最小數(shù)值保存在Number.MIN_VALUE中,在大多數(shù)瀏覽器中,這個(gè)值是5e-324

能夠表示的最大數(shù)值保存在Number.MAX_VALUE中——在大多數(shù)瀏覽器中,這個(gè)值是1.7976931348623157e+308。

如果某次計(jì)算的結(jié)果得到了一個(gè)超出JavaScript數(shù)值范圍的值,那么這個(gè)數(shù)值將被自動(dòng)轉(zhuǎn)換成特殊的Infinity值。

具體來(lái)說(shuō),如果這個(gè)數(shù)值是負(fù)數(shù),則會(huì)被轉(zhuǎn)換成-Infinity負(fù)無(wú)窮,如果這個(gè)數(shù)值是正數(shù),則會(huì)被轉(zhuǎn)換成Infinity正無(wú)窮。

NaN是一個(gè)特殊數(shù)值,任何涉及NaN的操作都會(huì)返回NaN,NaN與任何值都不相等,包括NaN本身。

alert(isNaN(NaN))//true
alert(isNaN(10))//false
alert(isNaN("10"))//false
alert(isNaN("blue"))//true
alert(isNaN(true))//false

三種函數(shù)可以把非數(shù)值轉(zhuǎn)換成數(shù)值,Number()、parseInt()、parseFloat()

var num1=Number("Hello world!")//NaN
var num2=Number("")//0
var num3=Number("000011")//11
var num4=Number(true)//1
var num5=parseInt("1234blue"); // 1234
var num6=parseInt(""); // NaN
var num7=parseInt("0xA"); // 10(十六進(jìn)制數(shù))
var num8=parseInt(22.5); // 22
var num9=parseInt("070"); // 56(八進(jìn)制數(shù))
var num10=parseInt("70"); // 70(十進(jìn)制數(shù))
var num11=parseInt("0xf"); // 15(十六進(jìn)制數(shù))
var num12=parseInt("AF", 16); //175
var num13=parseInt("AF"); //NaN
var num14=parseInt("10", 2); //2 (按二進(jìn)制解析)
var num15=parseInt("10", 8); //8 (按八進(jìn)制解析)
var num16=parseInt("10", 10); //10 (按十進(jìn)制解析)
var num17=parseInt("10", 16); //16 (按十六進(jìn)制解析)
var num18=parseFloat("1234blue"); //1234 (整數(shù))
var num19=parseFloat("0xA"); //0
var num20=parseFloat("22.5"); //22.5
var num21=parseFloat("22.34.5"); //22.34
var num22=parseFloat("0908.5"); //908.5
var num23=parseFloat("3.125e7"); //31250000

String類型用于表示由零或多個(gè)16位Unicode字符組成的字符序列,字符串。可以用單引號(hào)或者雙引號(hào)表示,沒(méi)有區(qū)別。

字符字面量,也叫轉(zhuǎn)義序列

字符串一旦創(chuàng)建就不可改變。

將一個(gè)值轉(zhuǎn)換為字符串有兩種方法,toString()、String(),null和undefined沒(méi)有toString方法

var age = 11;
var ageAsString = age.toString(); // 字符串"11"
var found = true;
var foundAsString = found.toString(); // 字符串"true"
var num = 10;
alert(num.toString()); // "10"
alert(num.toString(2)); // "1010"
alert(num.toString(8)); // "12"
alert(num.toString(10)); // "10"
alert(num.toString(16)); // "a"
var value1 = 10;
var value2 = true;
var value3 = null;
var value4;
alert(String(value1)); // "10"
alert(String(value2)); // "true"
alert(String(value3)); // "null"
alert(String(value4)); // "undefined"

Object類型可以通過(guò)new創(chuàng)建,是一組數(shù)據(jù)和功能的集合。

var o=new Object();

操作符

一元操作符,只能操作一個(gè)值的操作符:遞增遞減操作符、一元和加減操作符

var num1 = 2;
var num2 = 20;
var num3 = --num1 + num2; // 等于 21
var num4 = num1 + num2; // 等于 21
var s1 = "2";
var s2 = "z";
var b = false;
var f = 1.1;
var o = {
  valueOf: function() {
    return -1;
  }
};
s1++; // 值變成數(shù)值 3
s2++; // 值變成 NaN
b++; // 值變成數(shù)值 1
f--; // 值變成 0.10000000000000009(由于浮點(diǎn)舍入錯(cuò)誤所致)
o--; // 值變成數(shù)值-2
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; // 值變成數(shù)值 1
s2 = +s2; // 值變成數(shù)值 1.1
s3 = +s3; // 值變成 NaN
b = +b; // 值變成數(shù)值 0
f = +f; // 值未變,仍然是 1.1
o = +o; // 值變成數(shù)值-1
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; // 值變成了數(shù)值-1
s2 = -s2; // 值變成了數(shù)值-1.1
s3 = -s3; // 值變成了 NaN
b = -b; // 值變成了數(shù)值 0
f = -f; // 變成了-1.1
o = -o; // 值變成了數(shù)值 1

位操作符,32位整數(shù)。對(duì)于有符號(hào)的整數(shù),前31位用于表示整數(shù)的值,第32位用于表示數(shù)值的符號(hào),0表示正數(shù),1表示負(fù)數(shù)。按位非,用波浪線(~)表示,執(zhí)行按位非的結(jié)果就是返回?cái)?shù)值的反碼。按位與,用&表示。按位或,由豎線表示。按位異或,由^符號(hào)表示。左移(<<)。右移(>>)。無(wú)符號(hào)右移(>>>)

  var num1 = 25; // 二進(jìn)制 00000000000000000000000000011001
  var num2 = ~num1; // 二進(jìn)制 11111111111111111111111111100110
  alert(num2); // -26
  var num1 = 25;
  var num2 = -num1 - 1;
  alert(num2); // "-26"
  var result = 25 & 3;
  alert(result); //1
  25 = 0000 0000 0000 0000 0000 0000 0001 1001
  3 = 0000 0000 0000 0000 0000 0000 0000 0011
  ---------------------------------------------
  AND = 0000 0000 0000 0000 0000 0000 0000 0001
  var result = 25 | 3;
  alert(result); //27
  25 = 0000 0000 0000 0000 0000 0000 0001 1001
  3 = 0000 0000 0000 0000 0000 0000 0000 0011
  --------------------------------------------
  OR = 0000 0000 0000 0000 0000 0000 0001 1011
  var result = 25 ^ 3;
  alert(result); //26
  25 = 0000 0000 0000 0000 0000 0000 0001 1001
  3 = 0000 0000 0000 0000 0000 0000 0000 0011
  ---------------------------------------------
  XOR = 0000 0000 0000 0000 0000 0000 0001 1010
  var oldValue = 2; // 等于二進(jìn)制的 10
  var newValue = oldValue << 5; // 等于二進(jìn)制的 1000000,十進(jìn)制的 64
  var oldValue = 64; // 等于二進(jìn)制的 1000000
  var newValue = oldValue >> 5; // 等于二進(jìn)制的 10 ,即十進(jìn)制的 2
  var oldValue = 64; // 等于二進(jìn)制的 1000000
  var newValue = oldValue >>> 5; // 等于二進(jìn)制的 10 ,即十進(jìn)制的 2

布爾操作符,邏輯非(!)、邏輯與(&&)、邏輯或(||)

  alert(!false); // true
  alert(!"blue"); // false
  alert(!0); // true
  alert(!NaN); // true
  alert(!""); // true
  alert(!12345); // false
  alert(!!"blue"); //true
  alert(!!0); //false
  alert(!!NaN); //false
  alert(!!""); //false
  alert(!!12345); //true
  var found = true;
  var result = (found && someUndefinedVariable); // 這里會(huì)發(fā)生錯(cuò)誤
  alert(result); // 這一行不會(huì)執(zhí)行
  var found = true;
  var result = (found || someUndefinedVariable); // 不會(huì)發(fā)生錯(cuò)誤
  alert(result); // 會(huì)執(zhí)行("true")

乘性操作符,乘法(*)、除法(/)、求模(%)

加性操作符,加法,減法

  var result1 = 5 + 5; // 兩個(gè)數(shù)值相加
  alert(result1); // 10
  var result2 = 5 + "5"; // 一個(gè)數(shù)值和一個(gè)字符串相加
  alert(result2); // "55"
  var result1 = 5 - true; // 4,因?yàn)?true 被轉(zhuǎn)換成了 1
  var result2 = NaN - 1; // NaN
  var result3 = 5 - 3; // 2
  var result4 = 5 - ""; // 5,因?yàn)?" 被轉(zhuǎn)換成了 0
  var result5 = 5 - "2"; // 3,因?yàn)?2"被轉(zhuǎn)換成了 2
  var result6 = 5 - null; // 5,因?yàn)?null 被轉(zhuǎn)換成了 0

關(guān)系操作符,返回布爾值。"23"和3比較,"23"小于3。

相等操作符,相等(==)、不相等(!=)、全等(===)、不全等(!==)

條件操作符,var max = (num1 > num2) ? num1 : num2;如果num1大于num2,則將num1的值賦給max,如果num1小于或等于num2,則將num2的值賦給max

賦值操作符

逗號(hào)操作符,多用于聲明多個(gè)變量,還可用于賦值。var num=(5,4,3);//num值為3

函數(shù)

通過(guò)訪問(wèn)argument對(duì)象的length屬性可以獲知有多少個(gè)參數(shù)傳遞給了函數(shù)。函數(shù)沒(méi)有重載,名字只屬于后定義的函數(shù)

  function howManyArgs() {
      alert(arguments.length);
  }
  howManyArgs("string", 45); //2
  howManyArgs(); //0
  howManyArgs(12); //1

  function doAdd() {
    if(arguments.length == 1) {
      alert(arguments[0] + 10);
    } else if (arguments.length == 2) {
      alert(arguments[0] + arguments[1]);
    }
  }
  doAdd(10); //20
  doAdd(30, 20); //50

  function addSomeNumber(num){
      return num + 100;
  }
  function addSomeNumber(num) {
      return num + 200;
  }
  var result = addSomeNumber(100); //300

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/97436.html

相關(guān)文章

  • 高程3總結(jié)#8BOM

    摘要:對(duì)象的核心對(duì)象是,它表示瀏覽器的一個(gè)實(shí)例。而和則表示該容器中頁(yè)面視圖區(qū)的大小。在中,與返回相同的值,即視口大小而非瀏覽器窗口大小。第三個(gè)參數(shù)是一個(gè)逗號(hào)分隔的設(shè)置字符串,表示在新窗口中都顯示哪些特性。這應(yīng)該是用戶打開(kāi)窗口后的第一個(gè)頁(yè)面 BOM window對(duì)象 BOM的核心對(duì)象是window,它表示瀏覽器的一個(gè)實(shí)例。在瀏覽器中,window對(duì)象有雙重角色,它既是通過(guò)JavaScript訪...

    MASAILA 評(píng)論0 收藏0
  • 高程3總結(jié)#4變量、作用域和內(nèi)存問(wèn)題

    摘要:當(dāng)代碼在一個(gè)環(huán)境中執(zhí)行時(shí),會(huì)創(chuàng)建變量對(duì)象的一個(gè)作用域鏈。作用域鏈的用途,是保證對(duì)執(zhí)行環(huán)境有權(quán)訪問(wèn)的所有變量和函數(shù)的有序訪問(wèn)。這樣,一直延續(xù)到全局執(zhí)行環(huán)境全局執(zhí)行環(huán)境的變量對(duì)象始終都是作用域鏈中的最后一個(gè)對(duì)象。 變量、作用域和內(nèi)存問(wèn)題 基本類型和引用類型的值 基本類型值指的是簡(jiǎn)單的數(shù)據(jù)段,而引用類型值值那些可能由多個(gè)值構(gòu)成的對(duì)象。 定義基本類型值的引用和引用類型值的方法是類似的,創(chuàng)建...

    xumenger 評(píng)論0 收藏0
  • 高程3總結(jié)#20JSON

    摘要:語(yǔ)法語(yǔ)法可以表示三種類型的值簡(jiǎn)單值使用與相同的語(yǔ)法,可以在中表示字符串?dāng)?shù)值布爾值和。對(duì)象對(duì)象作為一種復(fù)雜數(shù)據(jù)類型,表示的是一組無(wú)序的鍵值對(duì)兒。如果字符串長(zhǎng)度超過(guò)了個(gè),結(jié)果中將只出現(xiàn)前個(gè)字符。 JSON 語(yǔ)法 JSON語(yǔ)法可以表示三種類型的值 簡(jiǎn)單值:使用與 JavaScript 相同的語(yǔ)法,可以在 JSON 中表示字符串、數(shù)值、布爾值和 null 。但 JSON 不支持 JavaS...

    Hwg 評(píng)論0 收藏0
  • 高程3總結(jié)#7函數(shù)表達(dá)式

    摘要:匿名函數(shù)可以用來(lái)模仿塊級(jí)作用域來(lái)避免這個(gè)問(wèn)題這里是塊級(jí)作用域代碼定義并立即調(diào)用了一個(gè)匿名函數(shù),將函數(shù)聲明包含在一對(duì)圓括號(hào)中,表示它實(shí)際上是一個(gè)函數(shù)表達(dá)式,而緊隨其后的另一對(duì)圓括號(hào)會(huì)立即調(diào)用這個(gè)函數(shù)。 函數(shù)表達(dá)式 遞歸 遞歸函數(shù)是在一個(gè)函數(shù)通過(guò)名字調(diào)用自身的情況下構(gòu)成的 function factrial(num){ if(num

    sevi_stuo 評(píng)論0 收藏0
  • 高程3總結(jié)#1JavaScript簡(jiǎn)介

    摘要:簡(jiǎn)介簡(jiǎn)史誕生于年,當(dāng)時(shí)主要負(fù)責(zé)表單的輸入驗(yàn)證。實(shí)現(xiàn)一個(gè)完整的由三部分組成核心文檔對(duì)象模型瀏覽器對(duì)象模型就是對(duì)實(shí)現(xiàn)該標(biāo)準(zhǔn)規(guī)定的各個(gè)方面內(nèi)容的語(yǔ)言的描述。把整個(gè)頁(yè)面映射為一個(gè)多層節(jié)點(diǎn)結(jié)構(gòu)。由萬(wàn)維網(wǎng)聯(lián)盟規(guī)劃。主要目標(biāo)是映射文檔的結(jié)構(gòu)。 JavaScript簡(jiǎn)介 JavaScript簡(jiǎn)史 JavaScript誕生于1995年,當(dāng)時(shí)主要負(fù)責(zé)表單的輸入驗(yàn)證。 如果沒(méi)有表單驗(yàn)證的功能,填入信息之...

    betacat 評(píng)論0 收藏0

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

0條評(píng)論

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