摘要:隱式轉(zhuǎn)換數(shù)字字符串?dāng)?shù)字轉(zhuǎn)換為字符串?dāng)?shù)字布爾值轉(zhuǎn)換為,轉(zhuǎn)換為字符串布爾值布爾值轉(zhuǎn)換為或布爾值布爾值和表示一種未知狀態(tài),聲明了但沒有初始化的變量,變量的值時(shí)一個(gè)未知狀態(tài)。
Javascript基礎(chǔ) 簡介
JavaScript,一種直譯式腳本語言,是一種動(dòng)態(tài)類型、基于原型的語言,內(nèi)置支持類別。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語言,最早是在HTML網(wǎng)頁上使用,用來給HTML網(wǎng)頁增加動(dòng)態(tài)功能。然而現(xiàn)在JavaScript也可被用于網(wǎng)絡(luò)服務(wù)器,如Node.js。--維基百科
javascript能做很多事情:
web前端,jQuery, Bootstrap, RequireJS等
移動(dòng)Web開發(fā) (Mobile Web),jQuery Mobile, zepto.js
Web后端,NodeJS
Hybrid App,PhoneGap, AppCan
桌面應(yīng)用,如 node-webkit,heX,Electron
游戲,Cocos2d-js
超越web,JavaScript在物聯(lián)網(wǎng)的應(yīng)用
其他:瀏覽器插件等
基礎(chǔ)概念 標(biāo)識符所謂標(biāo)識符是指變量、函數(shù)、屬性的名字,或者函數(shù)的參數(shù)。標(biāo)識符的書寫有幾個(gè)特征
區(qū)分大小寫
第一個(gè)字符必須是字母、下劃線(_)、或者是$
后面的可以是字母、數(shù)字、下劃線、$
命名規(guī)范變量使用駝峰命名法,第一個(gè)單詞首字母小寫,后面單詞首字母大寫
變量使用名詞,方法函數(shù)使用動(dòng)詞開頭,常量全部用大寫字母,構(gòu)造函數(shù)首字母大寫
命名要包含語義
var firstName; var isArray; var PI; function Person(){}變量
變量是對“值”的引用,javascript 用var來聲明變量。
var a = 1;
聲明變量未賦值,那么變量的值為 undefined。
var a; a // undefined變量提升
所謂變量提升,就是javascript引擎先解析代碼,獲取所有聲明的變量,然后再一行一行地運(yùn)行,而所有的變量以及聲明語句,都會被提升到代碼的頭部。
console.log(a); //undefined var a = 1;語句
語句是為了完成某種任務(wù)的操作,語句以分號結(jié)尾,一個(gè)分號就表示一個(gè)語句結(jié)束。
var a = 1+2; var b = "str";注釋
注釋就是在程序開發(fā)中添加的標(biāo)注,方便閱讀。js引擎會忽略這些語句。
javascript有兩種注釋:一種是單行注釋,另一種是多行注釋。
//單行注釋 var a=1;//為變量a賦值 /* 多行注釋 */ function getName(id){ return id; }數(shù)據(jù)類型
Javascript 中的每一值,都屬于某一種數(shù)據(jù)類型。Javascript的數(shù)據(jù)類型有六種(ES6新增了第七種Symbol)
數(shù)值(number):整數(shù)和小數(shù)(比如1和3.14)
字符串(string):字符組成的文本(比如"Hello World")
布爾值(boolean):true(真)和false(假)兩個(gè)特定值
undefined:表示“未定義”或不存在,即此處目前沒有任何值
null:表示空缺,即此處應(yīng)該有一個(gè)值,但目前為空
對象(object):各種值組成的集合
通常,我們將數(shù)值、字符串、布爾值稱為原始類型(primitive type)的值,即它們是最基本的數(shù)據(jù)類型,不能再細(xì)分了。而將對象稱為合成類型(complex type)的值,因?yàn)橐粋€(gè)對象往往是多個(gè)原始類型的值的合成,可以看作是一個(gè)存放各種值的容器。至于undefined和null,一般將它們看成兩個(gè)特殊值。
數(shù)據(jù)類型轉(zhuǎn)換
轉(zhuǎn)換函數(shù)
toString() 轉(zhuǎn)換為字符串,在JavaScript中所有數(shù)據(jù)類型都可以轉(zhuǎn)換為string類型
var n1 = 12; var n2 = true; var a = [1, 2, 3]; var o = {}; function f(){} n1.toString(); //"12" n2.toString(); //"true" a.toString(); //"1,2,3" o.toString(); //"[object Object]" f.toString(); //"function f(){}"
parseInt() 解析出一個(gè)string或者number類型的整數(shù)部分,如果沒有可以轉(zhuǎn)換的部分,則返回NaN(not a number)
var n1 = "12"; var n2 = "23hello"; var n3 = "hello"; parseInt(n1); //12 parseInt(n2); //23 parseInt(n3); //NaN
parseFloat() 解析出一個(gè)string的浮點(diǎn)數(shù)部分,如果沒有可以轉(zhuǎn)換的部分,則返回NaN(not a number)。
var n1 = "1.2.3"; var n2 = "1.2hello" var n3 = "hello" parseFloat(n1); //1.2 parseFloat(n2); //1.2 parseFloat(n3); //NaN
強(qiáng)制類型轉(zhuǎn)換
Boolean(value)——把給定的值轉(zhuǎn)換成Boolean型;
Boolean(123); //true Boolean(""); //false Boolean([]); //true Boolean({}); //true Boolean(null); //false Boolean(undefined); //false
Number(value)——把給定的值轉(zhuǎn)換成數(shù)字(可以是整數(shù)或浮點(diǎn)數(shù));
Number("123"); //123 Number("123h"); //NaN Number(true); //1 Number(false); //0 Number(undefined); //NaN Number(null); //0 Number([]); //0 Number({}); //NaN
String(value)——把給定的值轉(zhuǎn)換成字符串。
String(123); //"123" String([1,2]); //"1,2" String(undefined) //"undefined" String(null) //"null" String({}) //"[object Object]"
隱式轉(zhuǎn)換
數(shù)字+字符串:數(shù)字轉(zhuǎn)換為字符串
console.log(12+"12"); //1212
數(shù)字+布爾值:true轉(zhuǎn)換為1,false轉(zhuǎn)換為0
console.log(12+true); //13
字符串+布爾值:布爾值轉(zhuǎn)換為true或false
console.log("hello"+true); //hellotrue
布爾值+布爾值
console.log(true+true); //2null和undefined
undefined 表示一種未知狀態(tài),聲明了但沒有初始化的變量,變量的值時(shí)一個(gè)未知狀態(tài)。訪問不存在的屬性或?qū)ο體indow.xxx)方法沒有明確返回值時(shí),返回值是一個(gè)undefined.當(dāng)對未聲明的變量應(yīng)用typeof運(yùn)算符時(shí),顯示為undefined。
null表示尚未存在的對象,null是一個(gè)有特殊意義的值??梢詾樽兞抠x值為null,此時(shí)變量的值為“已知狀態(tài)”(不是undefined),即null。(用來初始化變量,清除變量內(nèi)容,釋放內(nèi)存)
undefined==null //結(jié)果為true,但含義不同。 undefined===null //false,兩者類型不一致,前者為“undefined”,后者為“object”
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/86369.html
摘要:基礎(chǔ)鞏固基礎(chǔ)總結(jié)使用已經(jīng)好幾年了,由于工作主要是做服務(wù)端開發(fā),在工作中逐漸發(fā)現(xiàn)的使用范圍原來越廣泛。這里要注意,務(wù)必將基礎(chǔ)部分掌握牢靠,磨刀不誤砍柴功,只有將基礎(chǔ)部分掌握并建立起系統(tǒng)的知識體系,在后面學(xué)習(xí)衍生的其他模式才能游刃有余。 基礎(chǔ)鞏固:JavaScript基礎(chǔ)總結(jié) 使用JavaScript已經(jīng)好幾年了,由于工作主要是做服務(wù)端開發(fā),在工作中逐漸發(fā)現(xiàn)JavaScript的使用范圍原...
摘要:全文為這些年,我曾閱讀深入理解過或正在閱讀學(xué)習(xí)即將閱讀的一些優(yōu)秀經(jīng)典前端后端書籍。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 全文為這些年,我曾閱讀、深入理解過(或正在閱讀學(xué)習(xí)、即將閱讀)的一些優(yōu)秀經(jīng)典前端/Java后端書籍。全文為純原創(chuàng),且將持續(xù)更新,未經(jīng)許可,不得進(jìn)行轉(zhuǎn)載。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 基礎(chǔ) 基礎(chǔ)書籍 進(jìn)階 進(jìn)階階段,深入學(xué)習(xí)的書...
摘要:全文為這些年,我曾閱讀深入理解過或正在閱讀學(xué)習(xí)即將閱讀的一些優(yōu)秀經(jīng)典前端后端書籍。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 全文為這些年,我曾閱讀、深入理解過(或正在閱讀學(xué)習(xí)、即將閱讀)的一些優(yōu)秀經(jīng)典前端/Java后端書籍。全文為純原創(chuàng),且將持續(xù)更新,未經(jīng)許可,不得進(jìn)行轉(zhuǎn)載。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 基礎(chǔ) 基礎(chǔ)書籍 進(jìn)階 進(jìn)階階段,深入學(xué)習(xí)的書...
摘要:全文為這些年,我曾閱讀深入理解過或正在閱讀學(xué)習(xí)即將閱讀的一些優(yōu)秀經(jīng)典前端后端書籍。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 全文為這些年,我曾閱讀、深入理解過(或正在閱讀學(xué)習(xí)、即將閱讀)的一些優(yōu)秀經(jīng)典前端/Java后端書籍。全文為純原創(chuàng),且將持續(xù)更新,未經(jīng)許可,不得進(jìn)行轉(zhuǎn)載。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 基礎(chǔ) 基礎(chǔ)書籍 進(jìn)階 進(jìn)階階段,深入學(xué)習(xí)的書...
摘要:全文為這些年,我曾閱讀深入理解過或正在閱讀學(xué)習(xí)即將閱讀的一些優(yōu)秀經(jīng)典前端后端書籍。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 全文為這些年,我曾閱讀、深入理解過(或正在閱讀學(xué)習(xí)、即將閱讀)的一些優(yōu)秀經(jīng)典前端/Java后端書籍。全文為純原創(chuàng),且將持續(xù)更新,未經(jīng)許可,不得進(jìn)行轉(zhuǎn)載。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 基礎(chǔ) 基礎(chǔ)書籍 進(jìn)階 進(jìn)階階段,深入學(xué)習(xí)的書...
摘要:下面我們從前端基礎(chǔ)和底層原理開始講起。對于和這三個(gè)對應(yīng)于矢量圖位圖和圖的渲染來說,給前端開發(fā)帶來了重武器,很多小游戲也因此蓬勃發(fā)展。這篇文章受眾之大,后來被人重新整理并發(fā)布為,其中還包括中文版。 showImg(https://segmentfault.com/img/bVbjM5r?w=1142&h=640); 想閱讀更多優(yōu)質(zhì)文章請猛戳GitHub博客,一年百來篇優(yōu)質(zhì)文章等著你! 這...
閱讀 2159·2021-11-24 09:39
閱讀 1251·2021-09-10 11:25
閱讀 1928·2021-09-08 10:42
閱讀 3882·2021-09-06 15:00
閱讀 2585·2019-08-30 15:54
閱讀 3193·2019-08-29 17:08
閱讀 3371·2019-08-29 11:26
閱讀 2912·2019-08-28 18:27