摘要:的基礎(chǔ)語(yǔ)法的語(yǔ)法是區(qū)分大小寫(xiě)的注意在中是區(qū)分大小寫(xiě)的變量名稱不能是中文代碼示例一花一世界控制臺(tái)調(diào)用效果圖語(yǔ)法中的空格與換行注意并不是的語(yǔ)法內(nèi)容可有可無(wú)的建議使用因?yàn)檫@樣會(huì)使代碼看的更清晰利于閱讀代碼示例代碼一花一世界中的分號(hào)可選項(xiàng)語(yǔ)法并
JavaScript的基礎(chǔ)語(yǔ)法: JavaScript的語(yǔ)法是區(qū)分大小寫(xiě)的
注意: 在JavaScript中是區(qū)分大小寫(xiě)的
變量名稱不能是中文
代碼示例:
var v1 = "一花一世界"; console.log(v1); var Va1 = "Yihuayishijie"; console.log(Va1); var VA1 = "YIHUAYISHIJIE"; console.log(VA1);
控制臺(tái)調(diào)用效果圖:
JavaScript語(yǔ)法中的空格與換行
注意: 并不是JavaScript的語(yǔ)法內(nèi)容 - 可有可無(wú)的 (建議使用)
因?yàn)檫@樣會(huì)使代碼看的更清晰利于閱讀代碼
示例代碼:
var v1 = "一花一世界"; console.log(v1);JavaScript中的分號(hào)
可選項(xiàng) - JavaScript語(yǔ)法并不強(qiáng)制要求必須寫(xiě)分號(hào) ( ; )
但是在多個(gè)語(yǔ)句編寫(xiě)在同一行時(shí),必須要寫(xiě)分號(hào) ( ; )
作用是 - 表示一句話的結(jié)束
注意: 如果最后不寫(xiě)分號(hào)控制臺(tái)也不會(huì)報(bào)錯(cuò)但是編輯器會(huì)提示
建議: 不忽略結(jié)束符 ( ; )
示例代碼:
//帶分號(hào)的 var v1 = "一花一世界"; console.log(v1); //不帶分號(hào)的 var v1 = "一花一世界" console.log(v1)
區(qū)別圖:
JavaScript中的關(guān)鍵字和保留字關(guān)鍵字就是JavaScript中有特殊作用的
注意關(guān)鍵字不能用于變量名(自己起的名)
保留字就是以后可能變成關(guān)鍵字同樣也不能用
常量與變量: JavaScript中的變量變量的概念:
變量就是存儲(chǔ)信息的容器 - (就是放東西的)放數(shù)據(jù)的
變量又叫臨時(shí)存儲(chǔ)
變量具體說(shuō)就是有名字的容器 - 稱為變量名
變量名稱的作用 - 就是通過(guò)名來(lái)找到值的數(shù)據(jù)信息
調(diào)用時(shí)會(huì)找最近的變量名 - 就近原則
變量的問(wèn)題與需要注意的事情:
注意: 每個(gè)變量只能存儲(chǔ)一個(gè)值
問(wèn)題:局限性太大
變量的定義
變量的定義語(yǔ)法結(jié)構(gòu):
語(yǔ)法結(jié)構(gòu) - var 變量名稱 = 變量的值;
注意: JavaScript的變量是弱類型(也叫松散類型)
定義變量時(shí),但不初始化值時(shí) - 控制臺(tái)并不清除該變量值的類型
只有在變量初始化值時(shí) - 控制臺(tái)才知道該變量的類型
注意:
變量允許, 只變量不賦值
變量允許, 先變量在賦值
代碼示例:
/* 1.定義變量,并初始化值 */ var v1 = "一花一世界";// 定義變量 - 變量的定義,并且初始化值 console.log(v1);// 調(diào)用變量 /* 2.定義變量,但沒(méi)有初始化值 */ var v2;// 指定義,沒(méi)有初始化值 console.log(v2);// 調(diào)用結(jié)果為 undefined - 表示未定義 v2 = "一葉一孤城"; console.log(v2); /* 3.多個(gè)變量同時(shí)定義 - 變量定義之間使用逗號(hào)分隔 */ var v3 = 100,v4 = 200;// 兩個(gè)變量聲明 console.log(v3);// 調(diào)用結(jié)果 - 100 console.log(v4);// 調(diào)用結(jié)果 - 200
控制臺(tái)調(diào)用效果圖:
變量的重復(fù)定義JavaScript中重復(fù)定義變量 - 語(yǔ)法允許
重復(fù)定義時(shí) - 先將之前的變量在內(nèi)存的空間進(jìn)行銷毀,然后在創(chuàng)建 - 不建議使用
代碼示例:
var v1 = "一花一世界"; console.log(v1);// 調(diào)用結(jié)果為 一花一世界 var v1 = 100; console.log(v1);// 調(diào)用結(jié)果為 100變量的重復(fù)賦值
JavaScript中變量是允許重復(fù)賦值的 - 建議使用
代碼示例:
var v1 = "一花一世界"; console.log(v1);// 調(diào)用結(jié)果為 一花一世界 v1 = "一葉一孤城";// 賦值 console.log(v1);// 調(diào)用結(jié)果為 一葉一孤城遺漏的定義
遺漏的定義 - 就是變量沒(méi)有定義,而直接調(diào)用
如果沒(méi)有定義直接進(jìn)行調(diào)用 - 在內(nèi)存中沒(méi)有存儲(chǔ)的位置所以會(huì)報(bào)錯(cuò) -> 不允許使用
而定義但不初始化值進(jìn)行調(diào)用 - 在內(nèi)存中有位置所以可以調(diào)用 -> 允許使用
注意:
JavaScript中允許只定義不賦值,但是不允許沒(méi)定義而直接調(diào)用
代碼示例:
console.log(v1); /* 只定義變量,但不初始化值 * 結(jié)果 - (不報(bào)錯(cuò))輸出結(jié)果為 undefined */ var v1; console.log(v1);/* undefined */JavaScript的常量
常量就是一個(gè)只讀的變量(定以后就不能改)
注意:
不能重復(fù)賦值
不能重復(fù)定義
常量定以后也不能用變量重新定義
定義常量的語(yǔ)法:
const 常量名稱 = 值;
代碼示例:
/* ECMA5之前的版本 - (了解就好) * 語(yǔ)法并沒(méi)有提供常量的定義 - 只能定義變量 * 認(rèn)為規(guī)定定義的是常量,但是使用的語(yǔ)法依舊是變量的語(yǔ)法 */ var C = 100;//語(yǔ)法上依舊是變量, 人為規(guī)定是常量 C = 200;// 語(yǔ)法上是變量 /* ECMA5以后的版本 * 提供了定義常量的語(yǔ)法定義 - 一旦定義,值就不能被改變 * 語(yǔ)法 - const 常量名 = 值; * 注意: 重復(fù)賦值 - 會(huì)報(bào)錯(cuò) - TypeError: Assignment to constant variable. * 重復(fù)定義也會(huì)報(bào)錯(cuò) - SyntaxError: Identifier "C1" has already been declared */ const C1 = 100; /* 注意 - 常量不允許重新賦值 - 否則會(huì)報(bào)錯(cuò) */ C1 = 200; /* 重復(fù)定義常量 - 同樣也不允許 */ const C1 = 200; /* 重復(fù)定位為變量 - 也同樣不允許 */ var C1 = 200; /* 總的來(lái)說(shuō)就是利用常量定義過(guò)之后就不允許使用了 * 不管是變量,還是常量的重新定義或重新賦值 通常定義變量與常量的名稱的寫(xiě)法: * 定義變量名稱 - 全小寫(xiě)或者大小寫(xiě)混合 * 定義常量名稱 - 全大寫(xiě) */定義變量或常量時(shí)
JavaScript是腳本語(yǔ)言 - 語(yǔ)法規(guī)則相對(duì)靈活(不建議)
定義變量或常量時(shí),允許不寫(xiě)修飾符(var或const)
沒(méi)有var或const關(guān)鍵字時(shí),定義的默認(rèn)為變量
代碼示例:
s = 300; console.log(s); s = 400; console.log(s);常量定義的問(wèn)題
常量的定義 - 必須定義時(shí)同時(shí)初始化值
如果只定義而不初始化值 - 則會(huì)報(bào)錯(cuò)
報(bào)錯(cuò)結(jié)果為 - SyntaxError: Missing initializer in const declaration
代碼示例:
const C; console.log(C);
控制臺(tái)調(diào)用示例圖:
常量與變量的區(qū)別
變量:
定義變量使用var關(guān)鍵字
定義變量使用小寫(xiě)
變量允許重復(fù)定義或賦值
變量允許只定義但不初始化值
變量的值允許改變
常量
定義常量使用const關(guān)鍵字
定義常量使用大寫(xiě)
常量不允許重復(fù)定義或重復(fù)賦值
常量必須定義并初始化值
常量的值不能改變
數(shù)據(jù)類型:數(shù)據(jù)類型就是對(duì)數(shù)據(jù)進(jìn)行分類,
數(shù)據(jù)類型官方分為兩大類:
原始類型 - 又稱原始值
引用類型 - 又稱內(nèi)置對(duì)象
number類型:number類型:整數(shù)(Intger)和浮點(diǎn)數(shù)(就是小數(shù)|float或double) - 在JavaScript中不區(qū)分整數(shù)與浮點(diǎn)數(shù)
代碼示例:
var num =100;/* 步驟: 1.變量名的定義并初始化; 2.字面量或直接量定義數(shù)字值 */
浮點(diǎn)類型:
如果寫(xiě)的是".1"表示"0.1"的含義 -> 不推薦
如果寫(xiě)的是".0"表示為整數(shù) -> 不建議
如果寫(xiě)的是"10."表示為整數(shù) -> 不建議
示例代碼:
var num1 = 0.1; console.log(num1); /* 浮點(diǎn)類型 - ".1"表示"0.1"的含義 -> 不推薦 */ var num2 = .1; console.log(num2); var num3 = 10.1; console.log(num3); /* 浮點(diǎn)類型 - ".0"表示為整數(shù) */ var num4 = 10.0; console.log(num4); /* 浮點(diǎn)類型 - "."表示為整數(shù) */ var num5 = 10.; console.log(num5);
控制臺(tái)調(diào)用圖:
注意: number類型中的小數(shù)可能出現(xiàn)誤差問(wèn)題: - 并不是所有的小數(shù)計(jì)算都會(huì)出現(xiàn)誤差
小數(shù)計(jì)算時(shí)一定要注意是否出誤差
解決方法:通過(guò)數(shù)字值的換算來(lái)解決(把小數(shù)換成整數(shù)然后在換回來(lái))
示例代碼:
/* number類型中的小數(shù),在計(jì)算時(shí)可能出現(xiàn)誤差 * 并不是所有小數(shù)計(jì)算都會(huì)出現(xiàn)誤差 * 小數(shù)的計(jì)算時(shí),要注意結(jié)果是否出現(xiàn)誤差 * 如果出現(xiàn)誤差 - 利用數(shù)字換算的方法計(jì)算,然后得到結(jié)果在換算回來(lái) *比如: 0.3 - 0.2 給換算成整數(shù) 就是3 - 2 */ var x = 0.3; var y = 0.2; console.log(x - y);
控制臺(tái)調(diào)用示例圖:
number類型中存在一個(gè)特殊的值 - NaN
含義 - 表示當(dāng)前的值不是以個(gè)數(shù)字值
類型 - 屬于number類型
特點(diǎn) - NaN與任何值都不相等(包括與自身都不相等)
示例代碼:
var num = Number("一花一世界");/* 將一個(gè)普通文本內(nèi)容轉(zhuǎn)換成number類型 */ console.log(num);// 調(diào)用結(jié)果為 NaN - 表示當(dāng)前這個(gè)值不是一個(gè)數(shù)字值 console.log(10 == 10);// 調(diào)用結(jié)果為 true console.log(NaN == NaN);// 調(diào)用結(jié)果為 false
控制臺(tái)調(diào)用示例圖:
string類型 - 又叫字符串 -> 建議使用單引號(hào)
注意:字符串中如果寫(xiě)的是數(shù)字依舊是字符串類型
string類型 - JavaScript的字符串就是由單引號(hào)或雙引號(hào)包裹的
可以是 漢字, 數(shù)字 英文字母 等等
注意: 在JavaScript中單引號(hào)和雙引號(hào)沒(méi)有區(qū)別 - 建議使用單引號(hào)
示例代碼:
var str1 = "一花一世界"; var str2 = "一花一世界";
string類型 - 文本本身需要單引號(hào)或雙引號(hào)時(shí)有兩種方法:
如果是需要雙引號(hào) - 那么字符串只能使用單引號(hào)
如果是需要單引號(hào) - 那么字符串只能使用雙引號(hào)
示例代碼:
var str3 = "一花"一"世界"; console.log(str3); var str4 = "一花"一"世界"; console.log(str4);
控制臺(tái)調(diào)用示例圖:
boolean類型 - 只有兩個(gè)值(都是小寫(xiě)
注意:boolean類型的值只能是小寫(xiě)
true: 表示是
false: 表示不是
示例代碼:
var boo1 = true; console.log(boo1); /* 大寫(xiě)或大小寫(xiě)混合時(shí) -> JavaScript識(shí)別為另一個(gè)變量名稱(會(huì)報(bào)錯(cuò)) 因?yàn)榭刂婆_(tái)在判只能判斷小寫(xiě)的true或false所以控制臺(tái)報(bào)錯(cuò) * 所以控制臺(tái)報(bào)錯(cuò)的原因是 - True is not defined - 表示該變量值未定義 * 其實(shí)是沒(méi)有識(shí)別大小寫(xiě)混合的true */ var boo2 = True; console.log(boo2);typeof運(yùn)算符
typeof運(yùn)算符是判斷以下變量值的類型 - (只判斷原始類型)
語(yǔ)法結(jié)構(gòu) - typeof 變量名稱
結(jié)果 - 原始類型的名稱 (string類型)
示例代碼:
var num = 100; var boo = true; var str = "一花一世界"; console.log(typeof num);// 調(diào)用結(jié)果為 number console.log(typeof boo);// 調(diào)用結(jié)果為 boolean console.log(typeof str);// 調(diào)用結(jié)果為 string /* 因?yàn)闇y(cè)試之后都打印在控制臺(tái)中了 - 能打印在控制臺(tái)中的信息本身就是字符串 * 然后把typeof的結(jié)果賦值給另一個(gè)變量了 * 所以這個(gè)變量最后得到的結(jié)果還是字符串類型 */ var v1 = typeof num; console.log(v1);// 調(diào)用結(jié)果為 number console.log(typeof v1);// 調(diào)用結(jié)果為 string包裝類型 - (官方文檔中屬于引用類型)
通過(guò)包裝類型創(chuàng)建一個(gè)數(shù)字值類型的變量
語(yǔ)法 - var 變量名稱 = new Number(數(shù)字值)
new Number() - 表示創(chuàng)建了一個(gè)Number類型的對(duì)象
以下兩種方式創(chuàng)建的數(shù)字值, 在使用上沒(méi)有任何區(qū)別
建議使用字面量方式 - 原因簡(jiǎn)潔
示例代碼:
/* 構(gòu)造函數(shù)方式 */ var num1 = new Number(100); console.log(num1);// 調(diào)用結(jié)果為 [Number: 100] /* 字面量/直接量方式 */ var num2 = 100; console.log(num2);// 調(diào)用結(jié)果為 100
兩個(gè)方式的唯一區(qū)別就是
構(gòu)造函數(shù)方式 用typeof運(yùn)算符運(yùn)算結(jié)果是對(duì)象類型
字面量方式 用typeof運(yùn)算符運(yùn)算結(jié)果是number類型
示例代碼:
console.log(typeof num2);// 調(diào)用結(jié)果為 number console.log(typeof num1);// 調(diào)用結(jié)果為 object(對(duì)象)
備注: 包裝類型中的String 類型和 Boolean 類型和 Number 相似
包裝類型的運(yùn)算符 - instanceof運(yùn)算符注意:typeof運(yùn)算符只能判斷原始類型不能判斷包裝類型
示例代碼:
var str = new String("一花一世界"); var num = new Number(100); var boo = new Boolean(true); // typeof運(yùn)算符只能判斷原始類型 console.log(typeof str);// 調(diào)用結(jié)果為 object console.log(typeof num);// 調(diào)用結(jié)果為 object console.log(typeof boo);// 調(diào)用結(jié)果為 object
typeof運(yùn)算符與instanceof運(yùn)算符的區(qū)別
typeof運(yùn)算符
用于判斷原始類型
語(yǔ)法結(jié)構(gòu)不同 -> typeof 變量名稱
得到結(jié)果不同 -> 原始類型的名稱
instanceof運(yùn)算符
用于判斷引用類型(包裝類型)
語(yǔ)法結(jié)構(gòu)不同 -> 變量名稱 instanceof 引用類型名稱
得到結(jié)果不同 -> 布爾類型的值(true或false)
特殊類型 - (官方分類屬于原始類型)
undefined - 在JavaScript表示為空的含義
如果一個(gè)變量的值等于undefined -> 變量是存在的,但沒(méi)有值
undefined類型中只存在一個(gè)值(undefined)
得到undefined值的情況如下:
定義變量時(shí),只聲明,而不初始化值 -> undefined
定義變量時(shí),初始化值為 undefined -> undefined
注意 - 得到undefined值的情況不止以上兩種
示例代碼:
var v; console.log(v);// 調(diào)用結(jié)果為 undefined var c = undefined; console.log(c);// 調(diào)用結(jié)果為 undefined console.log(typeof v);// 調(diào)用結(jié)果為 undefined - 類型名稱
null
作用 - 用于將指定變量從內(nèi)存中進(jìn)行釋放
實(shí)現(xiàn)方法: 就是將一個(gè)指定變量的值賦值為null就行
null類型中只存在一個(gè)值(null)
注意:typeof給null的類型是錯(cuò)的,但是不會(huì)報(bào)錯(cuò)
null類型名稱就叫null
示例代碼:
var v = null; /* 以下結(jié)果是錯(cuò)誤的 */ console.log(typeof v);// 調(diào)用結(jié)果為 object console.log(v instanceof Null);// 調(diào)用結(jié)果為 報(bào)錯(cuò) console.log(v instanceof Object);// 調(diào)用結(jié)果為 falseundefined與null的區(qū)別:
不同點(diǎn):
變量名為undefined值時(shí) - 內(nèi)存中依舊占優(yōu)空間
而變量名為null值時(shí) - 內(nèi)存中內(nèi)有空間
相同點(diǎn):
都是原始類型
都保存在棧中 - 就是在內(nèi)存中存儲(chǔ)在一個(gè)位置上,這個(gè)位置叫棧
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/96663.html
摘要:前言月份開(kāi)始出沒(méi)社區(qū),現(xiàn)在差不多月了,按照工作的說(shuō)法,就是差不多過(guò)了三個(gè)月的試用期,準(zhǔn)備轉(zhuǎn)正了一般來(lái)說(shuō),差不多到了轉(zhuǎn)正的時(shí)候,會(huì)進(jìn)行總結(jié)或者分享會(huì)議那么今天我就把看過(guò)的一些學(xué)習(xí)資源主要是博客,博文推薦分享給大家。 1.前言 6月份開(kāi)始出沒(méi)社區(qū),現(xiàn)在差不多9月了,按照工作的說(shuō)法,就是差不多過(guò)了三個(gè)月的試用期,準(zhǔn)備轉(zhuǎn)正了!一般來(lái)說(shuō),差不多到了轉(zhuǎn)正的時(shí)候,會(huì)進(jìn)行總結(jié)或者分享會(huì)議!那么今天我就...
摘要:錯(cuò)誤與異常錯(cuò)誤與異常概念所謂錯(cuò)誤就是錯(cuò)誤就是程序中不正常的運(yùn)行狀態(tài)在其他編程語(yǔ)言中稱為異常或錯(cuò)誤解釋器會(huì)為每個(gè)錯(cuò)誤情況創(chuàng)建并且拋出一個(gè)對(duì)象對(duì)象包含錯(cuò)誤的描述信息語(yǔ)句語(yǔ)句作用用于捕獲和處理代碼中的錯(cuò)誤語(yǔ)句作用用于處理語(yǔ)句中出現(xiàn)的錯(cuò)誤語(yǔ)句 錯(cuò)誤與異常 錯(cuò)誤與異常概念 所謂錯(cuò)誤就是錯(cuò)誤就是程序中不正常的運(yùn)行狀態(tài) 在其他編程語(yǔ)言中稱為異常或錯(cuò)誤 解釋器會(huì)為每個(gè)錯(cuò)誤情況創(chuàng)建并且拋出一個(gè)Erro...
摘要:作為女性,你又來(lái)自互聯(lián)網(wǎng)技術(shù)不太發(fā)達(dá)的希臘。希臘目前可能還存在一些針對(duì)女性的性別歧視,但并不明顯,不然我可能會(huì)被影響到。實(shí)際上,有時(shí)候希臘在性別平等方面比其他西方國(guó)家更進(jìn)步。 本文僅用于學(xué)習(xí)和交流,不用于商業(yè)目的。非商業(yè)轉(zhuǎn)載請(qǐng)注明作譯者、出處,并保留本文的原始鏈接:http://www.ituring.com.cn/art... 訪談嘉賓: Lea VerouW3C CSS工作組特邀專...
摘要:作為女性,你又來(lái)自互聯(lián)網(wǎng)技術(shù)不太發(fā)達(dá)的希臘。希臘目前可能還存在一些針對(duì)女性的性別歧視,但并不明顯,不然我可能會(huì)被影響到。實(shí)際上,有時(shí)候希臘在性別平等方面比其他西方國(guó)家更進(jìn)步。 本文僅用于學(xué)習(xí)和交流,不用于商業(yè)目的。非商業(yè)轉(zhuǎn)載請(qǐng)注明作譯者、出處,并保留本文的原始鏈接:http://www.ituring.com.cn/art... 訪談嘉賓: Lea VerouW3C CSS工作組特邀專...
摘要:作為女性,你又來(lái)自互聯(lián)網(wǎng)技術(shù)不太發(fā)達(dá)的希臘。希臘目前可能還存在一些針對(duì)女性的性別歧視,但并不明顯,不然我可能會(huì)被影響到。實(shí)際上,有時(shí)候希臘在性別平等方面比其他西方國(guó)家更進(jìn)步。 本文僅用于學(xué)習(xí)和交流,不用于商業(yè)目的。非商業(yè)轉(zhuǎn)載請(qǐng)注明作譯者、出處,并保留本文的原始鏈接:http://www.ituring.com.cn/art... 訪談嘉賓: Lea VerouW3C CSS工作組特邀專...
閱讀 2028·2021-11-12 10:36
閱讀 1892·2021-11-09 09:49
閱讀 2606·2021-11-04 16:12
閱讀 1154·2021-10-09 09:57
閱讀 3246·2019-08-29 17:24
閱讀 1919·2019-08-29 15:12
閱讀 1279·2019-08-29 14:07
閱讀 1295·2019-08-29 12:53