2019-11-01 從零開(kāi)始的JS學(xué)習(xí) 一

編程語(yǔ)言

編程:就是讓計(jì)算機(jī)為了解決某個(gè)問(wèn)題而使用某種程序設(shè)計(jì)語(yǔ)言編寫(xiě)程序代碼,并最終得到結(jié)果的過(guò)程

通用編程語(yǔ)言的兩種形式: 匯編語(yǔ)言和高級(jí)語(yǔ)言(swift oc js html java C語(yǔ)言 php等)

簡(jiǎn)介

渲染引擎: 用來(lái)解釋html和css 也稱為內(nèi)核,比如chrome的blink,老版本的webkit
js引擎: 也稱為js解釋器,用來(lái)讀取網(wǎng)頁(yè)中的js代碼.對(duì)其處理后運(yùn)行,比如chrome的v8

流浪器本并不會(huì)執(zhí)行js代碼,而是通過(guò)內(nèi)置js引擎來(lái)執(zhí)行js代碼.js引擎執(zhí)行代碼時(shí)逐行解釋每一句源碼(轉(zhuǎn)換成機(jī)器語(yǔ)言),然后由計(jì)算機(jī)去執(zhí)行,所以js語(yǔ)言歸為腳本語(yǔ)言,會(huì)逐行解釋執(zhí)行.

JS

DOM :文檔對(duì)象模型
BOM :瀏覽器對(duì)象模型

js有三種書(shū)寫(xiě)方式
行內(nèi) 內(nèi)嵌 和外部

行內(nèi)js:
<input type="button" value="點(diǎn)我領(lǐng)取屠龍寶刀" onclick="alert('倚天劍x1')">
可以將單行或少量的js代碼寫(xiě)在html標(biāo)簽事件屬性中(以on開(kāi)頭的屬性)
注意單雙引號(hào)的使用,在html中我們推薦使用雙引號(hào),js中我們推薦使用單引號(hào)
可讀性差,在html中編寫(xiě)大量代碼時(shí),不方便閱讀;
引號(hào)易錯(cuò),引號(hào)多層嵌套匹配時(shí),非常容易弄混;
特殊情況下使用

內(nèi)嵌式j(luò)s:
<script>
// alert('我是提示')
// alert('倚天劍x1');
</script>
可以將多行js代碼寫(xiě)到script標(biāo)簽中
內(nèi)嵌js是學(xué)習(xí)時(shí)常用的方式

外部js:
<script src="01.js">(這里不允許寫(xiě)代碼)</script>
利用html頁(yè)面代碼結(jié)構(gòu)化,把大段js代碼獨(dú)立到html頁(yè)面之外,既美觀,也方便文件級(jí)別的復(fù)用
引用外部js文件的script標(biāo)簽中間不可以寫(xiě)代碼
適用于js代碼量比較大的情況

JS輸入輸出語(yǔ)句

alert(msg) 瀏覽器彈出警告框
console.log(msg) 瀏覽器控制臺(tái)打印輸出框
prompt(info) 瀏覽器彈出輸入框,用戶可以輸入

變量

變量是程序在內(nèi)存中申請(qǐng)的一塊用來(lái)存放數(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ū)分大小寫(xiě)
不能以數(shù)字開(kāi)頭
不能是關(guān)鍵字,保留字
變量名必須有意義
遵循駝峰命名法 首字母小寫(xiě)后面單詞首字母大寫(xiě)

數(shù)據(jù)類型

js是一種弱類型或是動(dòng)態(tài)語(yǔ)言
js的變量數(shù)據(jù)類型只有程序在運(yùn)行的過(guò)程中,才會(huì)根據(jù)右面的值來(lái)確定

//js是動(dòng)態(tài)語(yǔ)言 變量的數(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

無(wú)窮大和無(wú)窮小:
Number.MAX_VALUE * 2 Infinity -Number.MAX_VALUE * 2 -Infinity
NaN not a number 代表非數(shù)值

isNaN()這個(gè)方法用來(lái)判斷非數(shù)字 并且返回一個(gè)值 ,如果是數(shù)字返回false 不是返回true

字符串嵌套
外雙內(nèi)單或外單內(nèi)雙

字符串類型

字符串是若干字符組成的,這些字符的數(shù)量就是字符串的長(zhǎng)度,通過(guò)字符串的 \color{red}{length}屬性可以獲取整個(gè)字符串的長(zhǎng)度

//檢測(cè)字符串的長(zhǎng)度
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歲

\color{red}{總結(jié)口訣: 數(shù)值相加,字符相連}

獲取變量數(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)換 了解


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容