JS基本知識點(diǎn)

?彈出警告框 alert("這是我的第一行js代碼")

在網(wǎng)頁中顯示內(nèi)容 document.write("? ?")

向控制臺發(fā)送內(nèi)容

console.log("? ?")

編寫代碼一般在外部樣式j(luò)s中? ?樣式 script

多行注釋/* */ 單行注釋 //

字面量(常量)堪澎,都是一些不可改變的值

?比如 :1 2 3 4 5 "hello"

alert('123456')

var a ;//聲明定義一個(gè)變量? 默認(rèn)是undefined

a =898989 ;//給變量賦值

console.log(a)//通過控制臺輸出變量的值

標(biāo)識符 - 在JS中所有的可以由我們自主命名的都可以稱為是標(biāo)識符

? 標(biāo)識符中可以含有數(shù)字颠猴、字母、_旺矾、$

? 標(biāo)識符不能以數(shù)字開頭

? 標(biāo)識符不能是es中的關(guān)鍵字或保留字

? 標(biāo)識符一般采用駝峰命名法

數(shù)據(jù)類型指的就是字面量的類型

? 在JS中一共有六種數(shù)據(jù)類型

? 基本數(shù)據(jù)類型? ? ? String 字符串? ? ? Number 數(shù)值? ? ? Boolean 布爾值? ? ? Null 空值? ? ? Undefined 未定義

? 引用數(shù)據(jù)類型? ? ? Object 對象

? 其中String Number Boolean Null Undefined屬于基本數(shù)據(jù)類型

? 而Object屬于引用數(shù)據(jù)類型

? 用\'' 表示''

? \'? 表示'

? \n 換行? \t 制表? \\ 表示 \

在JS中所有的數(shù)值都是Number類型渣玲,

? 包括整數(shù)和浮點(diǎn)數(shù)(小數(shù))? Number.MAX_VALUE 數(shù)值型最大值? Number.MIN_VALUE 數(shù)值型最小值-Number.MAX_VALUE

? Infinity? 無窮大

parseFloat 轉(zhuǎn)化為小數(shù)

parseInt 轉(zhuǎn)化為整數(shù)

parseFloat(f)*100? 保留兩位小數(shù)

Boolean 布爾值

? 布爾值只有兩個(gè)逗概,主要用來做邏輯判斷true

? ? ? - 表示真false

? ? ? - 表示假

? 使用typeof檢查一個(gè)布爾值時(shí),會返回boolean? ? 除了0 和 空字符 會顯示False 其余為True

Null(空值)類型的值只有一個(gè)忘衍,就是null

? null這個(gè)值專門用來表示一個(gè)為空的對象

? 使用typeof檢查一個(gè)null值時(shí)逾苫,會返回object

Undefined(未定義)類型的值只有一個(gè),就undefind

? 當(dāng)聲明一個(gè)變量枚钓,但是并不給變量賦值時(shí)铅搓,它的值就是undefined

? 使用typeof檢查一個(gè)undefined時(shí)也會返回undefined

強(qiáng)制類型轉(zhuǎn)換

?- 指將一個(gè)數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換為其他的數(shù)據(jù)類型

?- 類型轉(zhuǎn)換主要指,將其他的數(shù)據(jù)類型搀捷,轉(zhuǎn)換為 String Number Boolean

將其他的數(shù)據(jù)類型轉(zhuǎn)換為String

undefind 相當(dāng)于python中的none

將其他的數(shù)據(jù)類型轉(zhuǎn)換為Number

轉(zhuǎn)換方式一:

? 使用Number()函數(shù)

? 轉(zhuǎn)空字符串NaN

? 轉(zhuǎn)布爾類型true? 1? ? false? 0

? 轉(zhuǎn)數(shù)字和字符組合NaN

轉(zhuǎn)換方式二:? - 這種方式專門用來對付字符串? - parseInt() 把一個(gè)字符串轉(zhuǎn)換為一個(gè)整數(shù)? - parseFloat() 把一個(gè)字符串轉(zhuǎn)換為一個(gè)浮點(diǎn)數(shù)

在js中星掰,如果需要表示16進(jìn)制的數(shù)字,則需要以0x開頭

? 如果需要表示8進(jìn)制的數(shù)字嫩舟,則需要以0開頭

? 如果要要表示2進(jìn)制的數(shù)字氢烘,則需要以0b開頭,但是不是所有的瀏覽器都支持

將其他的數(shù)據(jù)類型轉(zhuǎn)換為Boolean

? 使用Boolean()函數(shù)? ? ? - 數(shù)字 ---> 布爾? ? ? ? - 除了0和NaN至壤,其余的都是true

? ? ? - 字符串 ---> 布爾? ? ? ? - 除了空串威始,其余的都是true

? ? ? - null和undefined都會轉(zhuǎn)換為false

? ? ? - 對象也會轉(zhuǎn)換為true

運(yùn)算符

也叫操作符

? 通過運(yùn)算符可以對一個(gè)或多個(gè)值進(jìn)行運(yùn)算,并獲取運(yùn)算結(jié)果

? 比如:typeof就是運(yùn)算符,可以來獲得一個(gè)值的類型像街,它會將該值的類型以字符串的形式返回"number" "string" "boolean" "undefined" "object"

算數(shù)運(yùn)算符

? 當(dāng)對非Number類型的值進(jìn)行運(yùn)算時(shí),會將這些值轉(zhuǎn)換為Number然后在運(yùn)算

? 任何值和NaN做運(yùn)算都得NaN

+

? ? ? +可以對兩個(gè)值進(jìn)行加法運(yùn)算晋渺,并將結(jié)果返回

如果對兩個(gè)字符串進(jìn)行加法運(yùn)算镰绎,則會做拼串,會將兩個(gè)字符串拼接為一個(gè)字符串木西,并返回

? ? ? 任何的值和字符串做加法運(yùn)算畴栖,都會先轉(zhuǎn)換為字符串,然后再和字符串做拼串的操作-

? ? ? - 可以對兩個(gè)值進(jìn)行減法運(yùn)算八千,并將結(jié)果返回*

? ? ? * 可以對兩個(gè)值進(jìn)行乘法運(yùn)算/

? ? ? / 可以對兩個(gè)值進(jìn)行除法運(yùn)算%

? ? ? % 取模運(yùn)算(取余數(shù))

一元運(yùn)算符

只需要一個(gè)操作數(shù)

?+ 正號 - 正號不會對數(shù)字產(chǎn)生任何影響

?- 負(fù)號 - 負(fù)號可以對數(shù)字進(jìn)行符號的取反?

?- 對于非Number類型的值吗讶,它會將先轉(zhuǎn)換為Number燎猛,然后再運(yùn)算

?- 可以對一個(gè)其他的數(shù)據(jù)類型使用+,來將其轉(zhuǎn)換為number,它的原理和Number()函數(shù)一樣

自增++

? - 通過自增可以使變量在自身的基礎(chǔ)上增加1

? - 對于一個(gè)變量自增以后照皆,原變量的值會立即自增1

? - 自增分成兩種:后++(a++) 和 前++(++a)

? ? ? 無論是a++還是++a重绷,都會立即使原變量的值自增1

? ? ? 不同的是a++和++a的值不同? ? ? a++的值等于原變量的值(自增前的值)? ? ? ++a的值等于新值 (自增后的值)

自減--

? - 通過自減可以使變量在自身的基礎(chǔ)上減1

? - 自減分成兩種:后--(a--) 和 前--(--a)

? ? ? 無論是a--還是--a都會立即使原變量的值自減1

? ? ? 不同的是a-- 和 --a的值不同? ? ? ? a-- 是變量的原值 (自減前的值)? ? ? ? --a 是變量的新值 (自減以后的值)

對于自增和自減的練習(xí):

var n1=10;

var n2=20;

var n =n1++; //

console.log('n=' +n);? // 10

console.log('n1=' +n1); // 11

n = ++n1; //

console.log('n=' +n); // 12

console.log('n1=' +n1); // 12

n =n2--;//

console.log('n=' +n); // 20

console.log('n2=' +n2); // 19

n = --n2; //

console.log('n=' +n); // 18

console.log('n2=' +n2); // 18

JS中為我們提供了三種邏輯運(yùn)算符!

非 - !可以用來對一個(gè)值進(jìn)行非運(yùn)算 - 所謂非運(yùn)算就是值對一個(gè)布爾值進(jìn)行取反操作, true變false膜毁,false變true

? - 如果對一個(gè)值進(jìn)行兩次取反昭卓,它不會變化? - 如果對非布爾值進(jìn)行元素,則會將其轉(zhuǎn)換為布爾值瘟滨,然后再取反

所以我們可以利用該特點(diǎn)候醒,來將一個(gè)其他的數(shù)據(jù)類型轉(zhuǎn)換為布爾值

? ? ? 可以為一個(gè)任意數(shù)據(jù)類型取兩次反,來將其轉(zhuǎn)換為布爾值杂瘸,原理和Boolean()函數(shù)一樣&& 與? - &&可以對符號兩側(cè)的值進(jìn)行與運(yùn)算并返回結(jié)果? - 運(yùn)算規(guī)則? ? ? - 兩個(gè)值中只要有一個(gè)值為false就返回false萄凤,

? ? ? ? 只有兩個(gè)值都為true時(shí)窘行,才會返回true

? ? ? - JS中的“與”屬于短路的與,

? ? ? ? 如果第一個(gè)值為false,則不會看第二個(gè)值|| 或? - ||可以對符號兩側(cè)的值進(jìn)行或運(yùn)算并返回結(jié)果? - 運(yùn)算規(guī)則:? ? ? - 兩個(gè)值中只要有一個(gè)true病梢,就返回true

? ? ? ? 如果兩個(gè)值都為false,才返回false

? ? ? - JS中的“或”屬于短路的或

? ? ? ? 如果第一個(gè)值為true造虎,則不會檢查第二個(gè)值

&& || 非布爾值的情況 - 對于非布爾值進(jìn)行與或運(yùn)算時(shí)块攒,會先將其轉(zhuǎn)換為布爾值,然后再運(yùn)算南蹂,并且返回原值 - 與運(yùn)算: - 如果第一個(gè)值為true犬金,則必然返回第二個(gè)值 - 如果第一個(gè)值為false,則直接返回第一個(gè)值 - 或運(yùn)算 - 如果第一個(gè)值為true六剥,則直接返回第一個(gè)值 - 如果第一個(gè)值為false晚顷,則返回第二個(gè)值

=

? 可以將符號右側(cè)的值賦值給符號左側(cè)的變量+=

? a += 5 等價(jià)于a = a + 5

-=

? a -= 5 等價(jià)于a = a - 5

*=

? a *= 5 等價(jià)于a = a5

/=

? a /= 5 等價(jià)于a = a / 5

%=

? a %= 5 等價(jià)于 a = a % 5

通過關(guān)系運(yùn)算符可以比較兩個(gè)值之間的大小關(guān)系,

? 如果關(guān)系成立它會返回true疗疟,如果關(guān)系不成立則返回false

> 大于號? - 判斷符號左側(cè)的值是否大于右側(cè)的值? - 如果關(guān)系成立该默,返回true,如果關(guān)系不成立則返回false

>= 大于等于? - 判斷符號左側(cè)的值是否大于或等于右側(cè)的值< 小于號<= 小于等于

非數(shù)值的情況? - 對于非數(shù)值進(jìn)行比較時(shí)策彤,會將其轉(zhuǎn)換為數(shù)字然后再比較? - 如果符號兩側(cè)的值都是字符串時(shí)栓袖,不會將其轉(zhuǎn)換為數(shù)字進(jìn)行比較,而會分別比較字符串中字符的Unicode編碼

? 任何值與NaN作比較時(shí)都是false

在網(wǎng)頁中使用Unicode編碼: &#編碼;

相等運(yùn)算符用來比較兩個(gè)值是否相等店诗,

? 如果相等會返回true裹刮,否則返回false

使用 == 來做相等運(yùn)算? - 當(dāng)使用==來比較兩個(gè)值時(shí),如果值的類型不同庞瘸,則會自動進(jìn)行類型轉(zhuǎn)換捧弃,將其轉(zhuǎn)換為相同的類型,然后再比較

不相等

? 不相等用來判斷兩個(gè)值是否不相等,如果不相等返回true违霞,否則返回false

? ? ? - 使用 != 來做不相等運(yùn)算? ? ? - 不相等也會對變量進(jìn)行自動的類型轉(zhuǎn)換嘴办,如果轉(zhuǎn)換后相等它也會返回false

===

? 全等? - 用來判斷兩個(gè)值是否全等,它和相等類似买鸽,不同的是它不會做自動的類型轉(zhuǎn)換

? ? ? 如果兩個(gè)值的類型不同涧郊,直接返回false

!==

? 不全等? - 用來判斷兩個(gè)值是否不全等,和不等類似癞谒,不同的是它不會做自動的類型轉(zhuǎn)換

? ? ? 如果兩個(gè)值的類型不同底燎,直接返回true

條件運(yùn)算符也叫三元運(yùn)算符

語法:

? ? ? 條件表達(dá)式?語句1:語句2;

? - 執(zhí)行的流程:

條件運(yùn)算符在執(zhí)行時(shí),首先對條件表達(dá)式進(jìn)行求值弹砚,

? ? ? ? 如果該值為true双仍,則執(zhí)行語句1,并返回執(zhí)行結(jié)果

? ? ? ? 如果該值為false桌吃,則執(zhí)行語句2朱沃,并返回執(zhí)行結(jié)果

? ? ? 如果條件的表達(dá)式的求值結(jié)果是一個(gè)非布爾值,會將其轉(zhuǎn)換為布爾值然后在運(yùn)算

, 運(yùn)算符

? 使用,可以分割多個(gè)語句茅诱,一般可以在聲明多個(gè)變量時(shí)使用

? 括號的優(yōu)先級比較高

我們的程序是由一條一條語句構(gòu)成的

語句是按照自上向下的順序一條一條執(zhí)行的

? 在JS中可以使用{}來為語句進(jìn)行分組,

? ? ? 同一個(gè){}中的語句我們稱為是一組語句逗物,

它們要么都執(zhí)行,要么都不執(zhí)行瑟俭,

? ? ? 一個(gè){}中的語句我們也稱為叫一個(gè)代碼塊

? ? ? 在代碼塊的后邊就不用再編寫;了? JS中的代碼塊翎卓,只具有分組的的作用,沒有其他的用途

? ? ? 代碼塊內(nèi)容的內(nèi)容摆寄,在外部是完全可見的

DOM是為了操作文檔(網(wǎng)頁)的API失暴,document是它的一個(gè)對象BOM是為了操作瀏覽器的API,window是它的一個(gè)對象

常用BOM對象還有:alert微饥、定時(shí)器等

window.onload =function () {

document.getElementById('div').title='我看到了'

};

? var link1=document.getElementById('link1');

? link1.;

? link1.title ='去百度網(wǎng)頁';

console.log(link1.title);

console.log(link1.id);

通過js對網(wǎng)頁進(jìn)行換膚:

window.onload=function () {

var link1 =document.getElementById('link1');

? link1.href='css.css';

? console.log(link1.id)

}

通過創(chuàng)建點(diǎn)擊事件來進(jìn)行指定的換膚:

window.onload=function () {

var btn01 =document.getElementById('btn01');

? var btn02 =document.getElementById('btn02');

? btn01.onclick=skin01;

? ? ? ? ? btn02.onclick=skin02;

};

function skin01() {

var link1 =document.getElementById('link1');

? ? ? ? ? link1.href='css.css'

? ? ? }

function skin02() {

var link1 =document.getElementById('link1');

? ? ? ? ? link1.href='css1.css'

? ? }

通過js設(shè)置style屬性:

window.onload=function () {

var div1 =document.getElementById('div1');

? div1.style.color ='red';

? div1.style.background='pink';

? div1.style.fontSize ='30px';

}

通過js操作類屬性:

window.onload=function () {

var div =document.getElementById('div');

? div1.className ='box02'

}

在js中用中括號表示變量逗扒,如果HTML中的代碼也在中括號里需要加上引號標(biāo)注否則就會把它當(dāng)成一個(gè)變量來處理

document.innerHTML可以讀取網(wǎng)頁的內(nèi)容

document.write和innerHTML的區(qū)別

document.write只能重繪整個(gè)頁面

innerHTML可以重繪頁面的一部分

js創(chuàng)建函數(shù):

function aa(){

alert('hello!');

? }

// 在js中用function定義一個(gè)函數(shù)

// 調(diào)用函數(shù)通過函數(shù)名直接調(diào)用

// aa();

js中的變量是直接調(diào)用如果變量上面沒有對變量進(jìn)行賦值則變量就會返回一個(gè)默認(rèn)值,而函數(shù)可以完成預(yù)解析欠橘,只要代碼中有對函數(shù)的描述矩肩,就會返回描述的內(nèi)容

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市肃续,隨后出現(xiàn)的幾起案子黍檩,更是在濱河造成了極大的恐慌,老刑警劉巖痹升,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件建炫,死亡現(xiàn)場離奇詭異,居然都是意外死亡疼蛾,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進(jìn)店門艺配,熙熙樓的掌柜王于貴愁眉苦臉地迎上來察郁,“玉大人衍慎,你說我怎么就攤上這事∑つ疲” “怎么了稳捆?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長麦轰。 經(jīng)常有香客問我乔夯,道長,這世上最難降的妖魔是什么款侵? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任末荐,我火速辦了婚禮,結(jié)果婚禮上新锈,老公的妹妹穿的比我還像新娘甲脏。我一直安慰自己,他們只是感情好妹笆,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布块请。 她就那樣靜靜地躺著,像睡著了一般拳缠。 火紅的嫁衣襯著肌膚如雪墩新。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天窟坐,我揣著相機(jī)與錄音海渊,去河邊找鬼。 笑死狸涌,一個(gè)胖子當(dāng)著我的面吹牛切省,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播帕胆,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼朝捆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了懒豹?” 一聲冷哼從身側(cè)響起芙盘,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎脸秽,沒想到半個(gè)月后儒老,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡记餐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年驮樊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,773評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡囚衔,死狀恐怖挖腰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情练湿,我是刑警寧澤猴仑,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站肥哎,受9級特大地震影響辽俗,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜篡诽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一崖飘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧霞捡,春花似錦坐漏、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至砰碴,卻和暖如春躏筏,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背呈枉。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工趁尼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人猖辫。 一個(gè)月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓酥泞,卻偏偏與公主長得像,于是被迫代替她去往敵國和親啃憎。 傳聞我的和親對象是個(gè)殘疾皇子芝囤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評論 2 354

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

  • 01javascript語法規(guī)范 <!DOCTYPE html> javascript語法...
    ouyangqinbin閱讀 1,308評論 0 0
  • 一個(gè)完整的JavaScript實(shí)現(xiàn)包含了三個(gè)部分: ECMAScript DOM BOM。 JS的特點(diǎn): 解釋型語...
    咻咻咻滴趙大妞閱讀 455評論 0 7
  • 第一章 前端三大語言:HTML(專門編寫網(wǎng)頁內(nèi)容)辛萍、CSS(編寫網(wǎng)頁樣式)悯姊、JS(專門編寫網(wǎng)頁交互行為) 能簡寫盡...
    fastwe閱讀 957評論 0 0
  • 本文用于復(fù)習(xí)JS相關(guān)知識點(diǎn),相當(dāng)于知識簡單的梳理. So, It's not be Detailed intro...
    凜冬已至_123閱讀 224評論 0 1
  • 標(biāo)簽: 我的筆記 ---學(xué)習(xí)資料:http://javascript.ruanyifeng.com/ 1. 導(dǎo)論 ...
    暗夜的怒吼閱讀 810評論 0 1