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

資訊專欄INFORMATION COLUMN

javascript基礎(chǔ)--變量

chinafgj / 682人閱讀

摘要:的副作用通過(guò)聲明的變量不能。需要注意的是中通過(guò)和聲明的變量是不存在變量提升情況的。第二個(gè)階段是代碼執(zhí)行,函數(shù)表達(dá)式和不合格的標(biāo)識(shí)符為聲明的變量被創(chuàng)建。為了避免矛盾和意外的結(jié)果,總是指定基數(shù)參數(shù)第二個(gè)參數(shù)。

變量 最小全局變量

每個(gè)JavaScript環(huán)境有一個(gè)全局對(duì)象,瀏覽器中就是window對(duì)象,Node環(huán)境中是global對(duì)象,在函數(shù)外面,this指向window對(duì)象,不管是通過(guò)var 聲明或者直接創(chuàng)建的變量,都是這個(gè)全局對(duì)象的屬性。在函數(shù)內(nèi)部通過(guò)var聲明的變量只會(huì)成為一個(gè)函數(shù)內(nèi)部局部變量,直接創(chuàng)建的對(duì)象還是會(huì)成為全局對(duì)象的屬性。

this指向調(diào)用改函數(shù)的對(duì)象
var  myglobal = "hello"; // 不推薦寫法
console.log(this);  // window
console.log(myglobal);  // "hello"
console.log(window.myglobal);  // "hello"
console.log(window["myglobal"]);  // "hello"
console.log(this.myglobal);  // "hello"
(function (){
var mylocal= "world";
           myglobal1 = "!!";
console.log(this);   //window
console.log(mylocal);    //"world"
console.log(window.mylocal);  //undefined
           console.log(this.indow.mylocal);  //undefined
console.log(window.myglobal1);   //"!!"
console.log(myglobal1);   //"!!"
}());

需要注意的地方
創(chuàng)建隱式全局變量 var a = b = 0; 賦值運(yùn)算從右到左,在此情況下好比var a = (b = 0),b是未聲明的。

var的副作用
通過(guò)var 聲明的變量不能delete。
JavaScript中,你可以在函數(shù)的任何位置聲明多個(gè)var語(yǔ)句,并且它們就好像是在函數(shù)頂部聲明一樣(變量提升)發(fā)揮作用。需要注意的是ES6中通過(guò)let和const聲明的變量是不存在變量提升情況的。

// 例子
myname = "global"; // 全局變量
function func() {
  alert(myname); // "undefined"
  var myname = "local";
  alert(myname); // "local"
}
func();
myname = "global"; // global variable
function func() {
 var myname; // 等同于 -> var myname = undefined;
 alert(myname); // "undefined"
 myname = "local";
 alert(myname); // "local"}
func();

代碼處理分兩個(gè)階段,第一階段是變量,函數(shù)聲明,以及正常格式的參數(shù)創(chuàng)建,這是一個(gè)解析和進(jìn)入上下文的階段。第二個(gè)階段是代碼執(zhí)行,函數(shù)表達(dá)式和不合格的標(biāo)識(shí)符(為聲明的變量)被創(chuàng)建。變量,函數(shù)的聲明永遠(yuǎn)在代碼處理的第一步,與代碼編寫位置無(wú)關(guān)。

定義變量
ECMAScript變量是松散類型的,可以保存任何類型的數(shù)據(jù)。

var message = "hello" ;
   message = 100;    //有效,不推薦

通過(guò)var定義局部變量;忽略var會(huì)定義全局變量,作為window的屬性;
使用未定義的變量,會(huì)報(bào)錯(cuò),xxx is not defined,對(duì)于未定義的變量,只能使用typeof操作符,返回"undefined"。

var message;
等同于
var message = undefined;
非
var message = "undefined";
數(shù)據(jù)類型

5種簡(jiǎn)單數(shù)據(jù)類型
Undefined, Null, Boolean, Number, String

復(fù)雜數(shù)據(jù)類型
Object

Null 類型
null值表示一個(gè)空對(duì)象指針,如果定義的變量準(zhǔn)備在將來(lái)用于保存對(duì)象,那么最好將該變量初始化為null而不是其他值。這樣只要檢查變量的值是否為null,就可以判斷變量是否判斷一個(gè)對(duì)象的引用。

console.log( null == undefined);   // true
console.log( null === undefined);  // false
obj !=null 可以判斷對(duì)象是否為null 或者 為undefined
var obj;
console.log(obj != null)             //false
console.log(obj != undefined)        //false

使用typeof操作符返回字符串

"undefined" 變量未定義或者聲明定義后未賦值。除了typeof操作符,操作未定義的變量會(huì)報(bào)錯(cuò)
"boolean" 變量的值是布爾值
"string" 變量的值是字符串
"number" 變量的值是數(shù)值
"object" 變量的值是對(duì)象或null
"function" 變量的值是函數(shù)

數(shù)據(jù)類型轉(zhuǎn)換

隱式類型轉(zhuǎn)換

Number 類型
如果小數(shù)點(diǎn)后面沒(méi)有跟任何數(shù)字,或者浮點(diǎn)數(shù)值本身就是一個(gè)整數(shù),那么該浮點(diǎn)數(shù)會(huì)被轉(zhuǎn)換為整數(shù)。保存浮點(diǎn)數(shù)所需的內(nèi)存空間是整數(shù)的兩倍,如果可能,ECMAScript會(huì)不失時(shí)機(jī)地將浮點(diǎn)數(shù)轉(zhuǎn)化為整數(shù)。

var floatNum1 = 1.;   // 解析為1
var floatNum2 = 10.0;  // 解析為10

基于IEEE754數(shù)值的浮點(diǎn)計(jì)算會(huì)產(chǎn)生舍入誤差,不要測(cè)試某個(gè)特定的浮點(diǎn)數(shù)值。
console.log(0.1 + 0.2 == 0.3); // false

非數(shù)值轉(zhuǎn)換為數(shù)值

Number();

parseInt(); 指定基數(shù)

parseFloat(); 只解析十進(jìn)制值,沒(méi)有第二個(gè)參數(shù)指定基數(shù)

+;

   console.log(+"5");     //5
   console.log(+"5.5");  //5.5
   console.log(+"5w");  //NaN
   console.log(+"ww");  //NaN
   console.log(parseInt("5",10));  // 5
   console.log(parseInt("5.5",10));  //5
   console.log(parseInt("5w",10));  //5
   console.log(parseInt("ww",10));  //NaN
   var month = "06",
     year = "09";
   console.log(parseInt(month));    //6
   console.log(parseInt(month, 10));  //6
   console.log(parseInt(year));   //0
   console.log(parseInt(year, 10));  //9

parseInt()可以從字符串中獲取數(shù)值。當(dāng)字符串以”0″開頭的時(shí)候就有可能會(huì)出問(wèn)題,開頭為”0″的字符串會(huì)被當(dāng)做8進(jìn)制處理。為了避免矛盾和意外的結(jié)果,總是指定基數(shù)(radix)參數(shù)---第二個(gè)參數(shù)。

+"08" // 結(jié)果是 8
+"08netease"  //NaN
Number("08") // 8
Number("08netease") //NaN
parseInt("08netease", 10) //8   parseInt(arg0, arg1)較慢

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

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

相關(guān)文章

  • 前端基礎(chǔ)進(jìn)階(一):內(nèi)存空間詳細(xì)圖解

    摘要:一棧數(shù)據(jù)結(jié)構(gòu)與不同,中并沒(méi)有嚴(yán)格意義上區(qū)分棧內(nèi)存與堆內(nèi)存。引用數(shù)據(jù)類型的值是保存在堆內(nèi)存中的對(duì)象。不允許直接訪問(wèn)堆內(nèi)存中的位置,因此我們不能直接操作對(duì)象的堆內(nèi)存空間。為了更好的搞懂變量對(duì)象與堆內(nèi)存,我們可以結(jié)合以下例子與圖解進(jìn)行理解。 showImg(https://segmentfault.com/img/remote/1460000009784102?w=1240&h=683); ...

    _Suqin 評(píng)論0 收藏0
  • JavaScript編程全解 —— 基礎(chǔ)

    摘要:函數(shù)式編程最后介紹一下函數(shù)式編程。函數(shù)式編程是一種歷史悠久,而又在最近頗為熱門的話題。函數(shù)式編程在面向?qū)ο笠辉~誕生以前就已經(jīng)存在,不過(guò)它在很長(zhǎng)一段時(shí)間里都被隱藏于過(guò)程式編程面向?qū)ο笠彩沁^(guò)程式編程的一種的概念之下。 2.1 JavaScript特點(diǎn) 總結(jié)以下幾個(gè)特點(diǎn): 解釋型語(yǔ)言 類似與C和Java的語(yǔ)法結(jié)構(gòu) 動(dòng)態(tài)語(yǔ)言 基于原型的面向?qū)ο?字面量的表現(xiàn)能力 函數(shù)式編程 解釋型語(yǔ)言:...

    CoreDump 評(píng)論0 收藏0
  • JavaScript基礎(chǔ)知識(shí)

    摘要:用和包裹的內(nèi)容,稱為字符串。關(guān)系運(yùn)算符用于進(jìn)行比較的運(yùn)算符。強(qiáng)制依賴于,非強(qiáng)制依賴于。使用場(chǎng)合全局環(huán)境構(gòu)造函數(shù)對(duì)象的方法閉包閉包是指有權(quán)訪問(wèn)另一個(gè)函數(shù)作用域中的變量的函數(shù)。所有全局對(duì)象函數(shù)以及變量均自動(dòng)成為對(duì)象的成員。 1 什么是JavaScript JavaScript一種直譯式腳本語(yǔ)言,一種基于對(duì)象和事件驅(qū)動(dòng)并具有安全性的客戶端腳本語(yǔ)言;也是一種廣泛應(yīng)用客戶端web開發(fā)的腳本語(yǔ)言。...

    Code4App 評(píng)論0 收藏0
  • Javascript基礎(chǔ)

    摘要:隱式轉(zhuǎn)換數(shù)字字符串?dāng)?shù)字轉(zhuǎn)換為字符串?dāng)?shù)字布爾值轉(zhuǎn)換為,轉(zhuǎn)換為字符串布爾值布爾值轉(zhuǎn)換為或布爾值布爾值和表示一種未知狀態(tài),聲明了但沒(méi)有初始化的變量,變量的值時(shí)一個(gè)未知狀態(tài)。 Javascript基礎(chǔ) 簡(jiǎn)介 JavaScript,一種直譯式腳本語(yǔ)言,是一種動(dòng)態(tài)類型、基于原型的語(yǔ)言,內(nèi)置支持類別。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語(yǔ)言,最早是在HTM...

    rozbo 評(píng)論0 收藏0
  • JavaScript基礎(chǔ)語(yǔ)法 變量 常量 數(shù)據(jù)類型

    摘要:第十六天筆記基礎(chǔ)語(yǔ)法區(qū)分大小寫是一種區(qū)分大小寫的語(yǔ)言的關(guān)鍵字變量名函數(shù)名以及任何其他的標(biāo)識(shí)符必須適應(yīng)一致的大小寫形勢(shì)臥龍前端空格和換行并不是的語(yǔ)法內(nèi)容可有可無(wú)建議使用將代碼書寫的更加整潔美觀更有可讀性可選的分號(hào)分號(hào)可選項(xiàng)語(yǔ)法并不是強(qiáng)制要 第十六天筆記 JavaScript 基礎(chǔ)語(yǔ)法 區(qū)分大小寫 JavaScript是一種區(qū)分大小寫的語(yǔ)言 JavaScript的關(guān)鍵字 變量名 函...

    xingpingz 評(píng)論0 收藏0
  • Javascript學(xué)習(xí)總結(jié) - JS基礎(chǔ)系列一

    摘要:變量定義變量使用關(guān)鍵字變量名變量名可以任意取名,但要遵循命名規(guī)則變量必須使用字母下劃線或者美元符開始。語(yǔ)法參數(shù)說(shuō)明在消息對(duì)話框中要顯示的文本返回值值。返回值點(diǎn)擊確定按鈕,文本框中的內(nèi)容將作為函數(shù)返回值。 簡(jiǎn)述 本系列將持續(xù)更新Javascript基礎(chǔ)部分的知識(shí),誰(shuí)都想掌握高端大氣的技術(shù),但是我覺得沒(méi)有一個(gè)扎實(shí)的基礎(chǔ),我認(rèn)為一切高階技術(shù)對(duì)我來(lái)講都是過(guò)眼云煙,要成為一名及格的前端工程師,必...

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

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

0條評(píng)論

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