javascript基礎(chǔ)一

basic

在這里,不想直接照抄某個(gè)網(wǎng)站的文章或者觀點(diǎn)笨鸡,只是標(biāo)注一些注意點(diǎn)

對(duì)大小寫敏感

Comments

// /* */
tips: /* 但是, 你不能, /* 嵌套注釋 */ 語法錯(cuò)誤 */

Declarations

var
let 聲明塊范圍局部變量(block scope local variable)姜钳,可選擇將其初始化為一個(gè)值。
const 聲明一個(gè)只讀(read-only)的有名字的常量形耗。

聲明變量(Declaring variables)

  • 使用關(guān)鍵詞 var哥桥。
  • 直接賦值。
  • 使用關(guān)鍵詞let激涤。
    tips:時(shí)用來聲明語句塊代碼段的局部變量(block scope local variable)拟糕。

對(duì)變量求值(Evaluating variables)

用var 和let聲明為賦初值的變量,只會(huì)被設(shè)定為undefined.

tips - undefined值在布爾類型環(huán)境中會(huì)被當(dāng)作false undefiend --> false

  • 數(shù)值類型環(huán)境中undefined值會(huì)被轉(zhuǎn)換為NaN undefiend --> NaN(Not a Number)
  • 空值 null 在數(shù)值類型環(huán)境中會(huì)被當(dāng)作0來對(duì)待 null --> 0
var a = undefined;
var a ;

變量作用域

if(true){
  var  x= 5;
}
console.log(x);//5

if (true) {
  let y = 5;
}
console.log(y); // ReferenceError: y is not defined

tips:ECMAScript 6 之前的JavaScript沒有 語句塊 作用域倦踢;相反送滞,語句塊中聲明的變量將成為語句塊所在代碼段的局部變量瘤泪。不是語句塊作用域矾麻,聲明了 x 的那個(gè)函數(shù)(或全局范圍)矫户。

聲明提升

x = undefined;
console.log(x === undefined); 
var x =3;
 
var myvar = "my value";
(function(){
  console.log(myvar);
  var myvar = "local value";
})(); 


var myvar1 = "my value";
(function(){
  var myvar1 ;
  console.log(myvar1);
  var myvar1 = "local value";
})(); 

tips:變量聲明提升了叁巨,但是其值賦予undefined.

全局變量

其對(duì)象是window

window.variable
parent.phoneNumber

Constants..常量

const prefix="404";

常量必須被初始化為某個(gè)值。

tips:不能用于變量或函數(shù)名相同的名字來命名常量.

數(shù)據(jù)結(jié)構(gòu)和類型

識(shí)別7種值

  • 6種是 原型的數(shù)據(jù)類型

Boolean null undefined ,Number , String, Symbol

typeof關(guān)鍵字层扶,查看其類型.
typeof Boolean; //function
typeof null; // object
typeof NULL; // undefiend
typeof undefiend; //undefiend
typeof Number; //function
typeof String;//function
typeof Symbol;//function
typeof Object;//function

通過typeof可以看出劣挫,Boolean橡淑、Number、String蕊梧、Symbol的類型是function,null是一個(gè)關(guān)鍵字腮介,用于表示空值的對(duì)象肥矢。NULL則是表示一個(gè)變量,值為undefined叠洗。Symbol是在 ECMAScript 6 中新添加的類型甘改,一種數(shù)據(jù)類型,它的實(shí)例是唯一且不可改變的灭抑。

  • 以及Object對(duì)象

自動(dòng)轉(zhuǎn)換

tips:"37" - 7 ;//30,自動(dòng)轉(zhuǎn)換成數(shù)字
"37"+7;//377十艾,自動(dòng)轉(zhuǎn)換成字符串

converting strings to numbers

parseInt()和parseFloat();

tips:將數(shù)字字符串轉(zhuǎn)換成數(shù)字的方法parseInt(),parseFloat(),

還有單目加發(fā)運(yùn)算符

'1.1'+'1.1';//1.1.1.1
(+'1.1')+(+'1.1');//2.2

字面值(Literals)

字面值是由語法表達(dá)式定義的常量;或腾节,通過由一定字辭組成的語詞表達(dá)式定義的常量

在JavaScript中忘嫉,你可以使用各種字面值。這些字面值是腳本中按字面意思給出的固定的值案腺,而不是變量庆冕。(譯注:字面值是常量,其值是固定的劈榨,而且在程序腳本運(yùn)行中不可更改 ).
字面值的類型如下:

  • 數(shù)組字面值(Array literals)
  • 布爾字面值(Boolean literals)
  • 浮點(diǎn)數(shù)字面值(Floating-point literals)
  • 整數(shù)(Intergers)
  • 對(duì)象字面值(Object literals)
  • RegExp literals
  • 字符串字面值(String literals)

數(shù)組字面值(Array literals)

數(shù)組字面值是一個(gè)封閉在方括號(hào)對(duì)([])中的包含有零個(gè)或多個(gè)表達(dá)式的列表访递,其中每個(gè)表達(dá)式代表數(shù)組的一個(gè)元素。


tips:數(shù)組字面值中的多余逗號(hào)
若你在同一行中連寫兩個(gè)逗號(hào)(,)同辣,數(shù)組中就會(huì)產(chǎn)生一個(gè)沒被指定的元素拷姿,其初始值是undefined(除了最后逗號(hào)去除的情況)。

var fish = ["Lion",  , "Angel"];
var fish = ["Lion", undefined , "Angel"];//等同

var fish = [ ,  ,  'Alison',  'Gavin',   ]
var fish = [ undefiend, undefiend, 'Alison', 'Gavin'  ]//最后的逗號(hào)會(huì)去掉
而且他倆的長(zhǎng)度一樣旱函,都是.length = 4
var coffees = ['a', , 'b',  ,  , ];
var coffees = ['a' , undefined, 'b' , undefined, undefiend ];
console.log(coffees.length);//5

浮點(diǎn)數(shù)字面值(Floating-point literals)

語法:[(+|-)][digits][.digits][(E|e)[(+|-)]digits]


對(duì)象字面值(Object literals)

對(duì)象字面值是封閉在花括號(hào)對(duì)({})中的一個(gè)對(duì)象的零個(gè)或多個(gè)"屬性名-值"對(duì)的(元素)列表响巢。

var sales = "tomacat";
function carType(name){
  return (name === 'hone')? name : "sorry";
};

var car ={myCar:  "staturn", getCar: carType('hone'),  special: sales};
console.log(car.myCar);//staturn
console.log(car.getCar);//hone
console.log(car.special); // tomacat 

tips:

  • 可以使用數(shù)字或字符串字面值作為屬性名,或者在另一個(gè)字面內(nèi)值嵌套一個(gè)字面值棒妨。
var carr = {mycara: {a: 'Saab', b: 'Jeep'}, 7: 'Mazda'};
  • 對(duì)象屬性名可以是任意字符串抵乓,包括空串。如果對(duì)象屬性名字不是合法的javascript標(biāo)識(shí)符靶衍,它必須用""包裹灾炭。屬性的名字不合法,那么便不能用.訪問屬性值颅眶,而是通過類數(shù)組標(biāo)記("[]")訪問和賦值蜈出。
    這里說的是,不是合法字符串涛酗,都需要通過類數(shù)組標(biāo)記來訪問铡原,不能通過' . 屬性'來訪問偷厦。
var unus = {
  "": "an empty String",
  "!": "Bang"
}
//console.log(unus."");//SyntaxError: missing name after . operator
console.log(unus[""]);
//console.log(unus.!);//SyntaxError: missing name after . operator
console.log(unus["!"]);

var foo ={a : 'alpha', 2: 'two'};
console.log(foo.a); //alpha
console.log(foo[2]);//two

console.log(foo.a);
//console.log(foo.2);//SyntaxError: missing ) after argument list
console.log(foo[a]);//undefined,并不是Error: a is not defined
console.log(foo[2]);

console.log(foo["a"]);
console.log(foo["2"]);

RegExp字面值

一個(gè)正則表達(dá)式是字符被斜線圍成的表達(dá)式。var foo =/asd+as/

字符串字面值(String literals)

字符串字面值可以包含有零個(gè)或多個(gè)字符燕刻,由雙引號(hào)(")對(duì)或單引號(hào)(‘)對(duì)包圍只泼。

tips:字符串字面值后自動(dòng)轉(zhuǎn)換為一個(gè)臨時(shí)字符串對(duì)象,就可以調(diào)用對(duì)象的方法卵洗,然后廢棄掉那個(gè)臨時(shí)的字符串變量请唱。

參考文獻(xiàn):https://developer.mozilla.org/zh-CN/

PS: 若你覺得可以、還行过蹂、過得去十绑、甚至不太差的話,可以“關(guān)注”一下酷勺,就此謝過!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末本橙,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子脆诉,更是在濱河造成了極大的恐慌甚亭,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,816評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件击胜,死亡現(xiàn)場(chǎng)離奇詭異狂鞋,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)潜的,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門骚揍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人啰挪,你說我怎么就攤上這事信不。” “怎么了亡呵?”我有些...
    開封第一講書人閱讀 158,300評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵抽活,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我锰什,道長(zhǎng)下硕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,780評(píng)論 1 285
  • 正文 為了忘掉前任汁胆,我火速辦了婚禮梭姓,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘嫩码。我一直安慰自己誉尖,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評(píng)論 6 385
  • 文/花漫 我一把揭開白布铸题。 她就那樣靜靜地躺著铡恕,像睡著了一般琢感。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上探熔,一...
    開封第一講書人閱讀 50,084評(píng)論 1 291
  • 那天驹针,我揣著相機(jī)與錄音,去河邊找鬼诀艰。 笑死柬甥,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的涡驮。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼喜滨,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼捉捅!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起虽风,我...
    開封第一講書人閱讀 37,912評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤棒口,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后辜膝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體无牵,經(jīng)...
    沈念sama閱讀 44,355評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評(píng)論 2 327
  • 正文 我和宋清朗相戀三年厂抖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了茎毁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,809評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡忱辅,死狀恐怖七蜘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情墙懂,我是刑警寧澤橡卤,帶...
    沈念sama閱讀 34,504評(píng)論 4 334
  • 正文 年R本政府宣布,位于F島的核電站损搬,受9級(jí)特大地震影響碧库,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜巧勤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評(píng)論 3 317
  • 文/蒙蒙 一嵌灰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧颅悉,春花似錦伞鲫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽柒瓣。三九已至,卻和暖如春吠架,著一層夾襖步出監(jiān)牢的瞬間芙贫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評(píng)論 1 267
  • 我被黑心中介騙來泰國打工傍药, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留磺平,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,628評(píng)論 2 362
  • 正文 我出身青樓拐辽,卻偏偏與公主長(zhǎng)得像拣挪,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子俱诸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • 1菠劝、JavaScript 定義了幾種數(shù)據(jù)類型? 哪些是原始類型?哪些是復(fù)雜類型?原始類型和復(fù)雜類型的區(qū)別是什么? ...
    字母31閱讀 122評(píng)論 0 0
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,513評(píng)論 1 51
  • 變量 變量名必須以 字母、$和 _ 符號(hào)開頭睁搭,并且不能包含空格赶诊,此外變量名支持大小寫 javaScript 是一種...
    TianBai閱讀 515評(píng)論 0 1
  • 基本內(nèi)置類型 算術(shù)類型字符整型布爾值浮點(diǎn)數(shù) 空類型(void) 算術(shù)類型 帶符號(hào)類型和無符號(hào)類型int舔痪、short...
    2625K閱讀 3,145評(píng)論 0 1
  • 1993 故事還得從2030講起,我認(rèn)識(shí)他那么久锌唾,基本沒有聽他提起過1993锄码。2030說他自己是個(gè)新時(shí)代的浪子,游...
    錢琪閱讀 476評(píng)論 0 2