編程語言
編程:就是讓計(jì)算機(jī)為了解決某個(gè)問題而使用某種程序設(shè)計(jì)語言編寫程序代碼,并最終得到結(jié)果的過程
通用編程語言的兩種形式: 匯編語言和高級(jí)語言(swift oc js html java C語言 php等)
簡(jiǎn)介
渲染引擎: 用來解釋html和css 也稱為內(nèi)核,比如chrome的blink,老版本的webkit
js引擎: 也稱為js解釋器,用來讀取網(wǎng)頁中的js代碼.對(duì)其處理后運(yùn)行,比如chrome的v8
流浪器本并不會(huì)執(zhí)行js代碼,而是通過內(nèi)置js引擎來執(zhí)行js代碼.js引擎執(zhí)行代碼時(shí)逐行解釋每一句源碼(轉(zhuǎn)換成機(jī)器語言),然后由計(jì)算機(jī)去執(zhí)行,所以js語言歸為腳本語言,會(huì)逐行解釋執(zhí)行.
JS
DOM :文檔對(duì)象模型
BOM :瀏覽器對(duì)象模型
js有三種書寫方式
行內(nèi) 內(nèi)嵌 和外部
行內(nèi)js:
<input type="button" value="點(diǎn)我領(lǐng)取屠龍寶刀" onclick="alert('倚天劍x1')">
可以將單行或少量的js代碼寫在html標(biāo)簽事件屬性中(以on開頭的屬性)
注意單雙引號(hào)的使用,在html中我們推薦使用雙引號(hào),js中我們推薦使用單引號(hào)
可讀性差,在html中編寫大量代碼時(shí),不方便閱讀;
引號(hào)易錯(cuò),引號(hào)多層嵌套匹配時(shí),非常容易弄混;
特殊情況下使用
內(nèi)嵌式j(luò)s:
<script>
// alert('我是提示')
// alert('倚天劍x1');
</script>
可以將多行js代碼寫到script標(biāo)簽中
內(nèi)嵌js是學(xué)習(xí)時(shí)常用的方式
外部js:
<script src="01.js">(這里不允許寫代碼)</script>
利用html頁面代碼結(jié)構(gòu)化,把大段js代碼獨(dú)立到html頁面之外,既美觀,也方便文件級(jí)別的復(fù)用
引用外部js文件的script標(biāo)簽中間不可以寫代碼
適用于js代碼量比較大的情況
JS輸入輸出語句
alert(msg) 瀏覽器彈出警告框
console.log(msg) 瀏覽器控制臺(tái)打印輸出框
prompt(info) 瀏覽器彈出輸入框,用戶可以輸入
變量
變量是程序在內(nèi)存中申請(qǐng)的一塊用來存放數(shù)據(jù)的空間.
使用步驟: 聲明->賦值
//聲明變量
var age;
//聲明多個(gè)變量
var age = 18,
name = '張',
sex = '男';
//聲明變量的特殊情況
//聲明不賦值 結(jié)果是?
var sex; //undefind 未定義
//不聲明不賦值 直接使用 ->報(bào)錯(cuò)
//不聲明 直接賦值 是可以使用的(JS中可以 變成全局變量)
命名規(guī)范
由字母 數(shù)字 下劃線 美元符號(hào)
嚴(yán)格區(qū)分大小寫
不能以數(shù)字開頭
不能是關(guān)鍵字,保留字
變量名必須有意義
遵循駝峰命名法 首字母小寫后面單詞首字母大寫
數(shù)據(jù)類型
js是一種弱類型或是動(dòng)態(tài)語言
js的變量數(shù)據(jù)類型只有程序在運(yùn)行的過程中,才會(huì)根據(jù)右面的值來確定
//js是動(dòng)態(tài)語言 變量的數(shù)據(jù)類型是可以變化的
var x = 10;//數(shù)字型
x = 'zhang';//字符串型
基本的數(shù)據(jù)類型
Number 數(shù)字型包含了整型和浮點(diǎn)型
Boolean 布爾值型 true false
String 字符串型
Undefined 未定義型
Null var a = null 聲明了變量a為空值
八進(jìn)制 逢八進(jìn)1 0-7 我們程序里面數(shù)字前面加0 表示八進(jìn)制
var num = 010 (8)
十六進(jìn)制 逢十六進(jìn)一 0-9 a-f 數(shù)字前面加0x表示十六進(jìn)制
數(shù)字型最大值和最小值:
Number.MAX_VALUE
Number.MIN_VALUE
無窮大和無窮小:
Number.MAX_VALUE * 2 Infinity -Number.MAX_VALUE * 2 -Infinity
NaN not a number 代表非數(shù)值
isNaN()這個(gè)方法用來判斷非數(shù)字 并且返回一個(gè)值 ,如果是數(shù)字返回false 不是返回true
字符串嵌套
外雙內(nèi)單或外單內(nèi)雙
字符串類型
字符串是若干字符組成的,這些字符的數(shù)量就是字符串的長度,通過字符串的 屬性可以獲取整個(gè)字符串的長度
//檢測(cè)字符串的長度
var str = 'zhang';
console.log(str.length);
//字符串的拼接 用+號(hào) (和swift類似)
var str1 = 'zhang';
var str2 = 'jian';
var str3 = str1 + str2;
console.log(str3);
//數(shù)值帶入
var age = 18;
console.log('我今年' + age + '歲');//我今年18歲
獲取變量數(shù)據(jù)類型 typeof
var num = 10;
typeof num //number類型
數(shù)據(jù)類型的轉(zhuǎn)換
//轉(zhuǎn)字符串
var num = 10;
num.toString();//第一種方法
String(num)//第二種方法
num + ' ' //第三種 常利用 + 拼接字符串的方法(隱式轉(zhuǎn)換)
//轉(zhuǎn)數(shù)字型
var age = '18';
parseInt(age);//第一種方法 得到的是整數(shù) 字符串帶單位會(huì)去掉 是重點(diǎn)
parseFloat(age)//第二種方法 得到的是浮點(diǎn)數(shù) 是重點(diǎn)
Number(age)//第三種 了解
age - 0//利用運(yùn)算 隱式轉(zhuǎn)換 了解