日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

js中当等于最小值是让代码不执行_JavaScript中最最基础的知识点

發(fā)布時(shí)間:2024/10/8 javascript 74 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js中当等于最小值是让代码不执行_JavaScript中最最基础的知识点 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

JavaScript 中有很多很常用的也很基礎(chǔ)的知識(shí)點(diǎn)需要我們牢牢記住,倒背如流,這樣在開發(fā)的時(shí)候才能得心應(yīng)手.

本文主要總結(jié)了DOM,Array,String,Math的一些常用方法,還有一些JS編程的基本常識(shí).

1. DOM

1.1 獲取DOM元素1

2

3

4

5

6

7

8document.getElementById

document.getElementsByName

document.getElementsByTagName

document.getElementsByClassName

document.documentElement

document.body

document.querySelector

document.querySelectorAll

1.2 DOM節(jié)點(diǎn)nodetypenodeNamenodeValue元素節(jié)點(diǎn)1大寫的標(biāo)簽名null

文本節(jié)點(diǎn)3#text文本內(nèi)容

注釋節(jié)點(diǎn)8#comment注釋內(nèi)容

document9#documentnull

1.3 DOM節(jié)點(diǎn)屬性1

2

3

4

5

6

7parentNode

childNodes

children

firstChild (firstElementChild)

lastChild (lastElementChild)

previousSibling (previousElementSibling)

nextSibling (nextElementSibling)

1.4 DOM操作1

2

3

4

5

6

7

8

9createElement

appendChild

insertBefore

replaceChild

removeChild

cloneNode(true/false)

getAttribute

setAttribute

removeAttribute

2. Array 數(shù)組常用方法1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

271.push

2.pop

3.shift

4.unshift

5.splice

splice(n,m) 刪除 返回值:刪除的內(nèi)容以新數(shù)組的形式返回

splice(n,0,x) 添加

splice(n,m,x) 替換

6.slice

查找 slice(n,m)

克隆 slice()/ slice(0)

7.concat

數(shù)組拼接 ary1.concat(ary)

克隆 ary1.concat();

8.toString()

9.join() eval()

10.sort(function(a,b){return a-b})

11.reverse()

12.indexOf() 找到返回對(duì)應(yīng)內(nèi)容的索引 找不到-1;

13.forEach()

14.map();

15.some();

16.every();

17.forEach();

18.filter();

19.reduce();

20.includes();

3. 字符串常用方法1

2

3

4

5

6

7

8

9

10

11

12

13

141.charAt

2.charCodeAt

3.indexOf()

4.lastIndexOf();

5.substr(n,m) 從索引n開始,找m個(gè)

6.substring(n,m) 從索引n開始,找到索引m,不包含索引m

7.slice(n,m)從索引n開始,找到索引m,不包含索引m; 可以取負(fù)值

8.split() 字符串轉(zhuǎn)數(shù)組

9.toUpperCase() 轉(zhuǎn)大寫

10.toLowerCase() 轉(zhuǎn)小寫

11.replace('','') 替換

12.search() 查找,找到返回索引,找不到-1;

13.match() 匹配

...

4. Math 常用方法1

2

3

4

5

6

7

8

9Math.random()

Math.round() 四舍五入

Math.floor() 向下取整

Math.ceil() 向上取整

Math.abs() 取絕對(duì)值

Math.min() 取最小值

Math.max() 取最大值

Math.sqrt() 開平方

Math.pow() 冪

5. 為何學(xué)習(xí)預(yù)解釋如果函數(shù)中未定義此變量,為何還能拿到

函數(shù)中定義的變量,但是在賦值之前,我們?nèi)匀荒苣玫街?#xff0c;但是拿到是undefined

為何把var去掉進(jìn)程還能正常執(zhí)行;

在定義函數(shù)之前,調(diào)用函數(shù),也能執(zhí)行函數(shù),為什么?

最終目的:寫代碼時(shí),思路更加清楚,知道為何進(jìn)程能正常執(zhí)行,為何會(huì)報(bào)錯(cuò)?避免很多不正規(guī)的寫法,因?yàn)檫@些不正規(guī)的寫法很容出錯(cuò),而且不會(huì)報(bào)錯(cuò)

6. 預(yù)解釋

概念:在當(dāng)前作用域下,在JS代碼執(zhí)行之前,瀏覽器會(huì)對(duì)帶var和帶function進(jìn)行提前聲明或者定義;

聲明:告訴瀏覽器有這么一個(gè)變量,但是沒有賦值,沒賦值拿到的undefined;

定義:對(duì)已經(jīng)聲明過的這個(gè)變量進(jìn)行賦值

關(guān)于變量和函數(shù)預(yù)解釋階段的不同帶var :只聲明不定義

帶function:聲明+定義;

7. 函數(shù)

定義步驟:1.開辟一個(gè)空間地址

2.把函數(shù)體中所有JS代碼做為字符串存在這個(gè)空間中

3.把空間地址賦值給函數(shù)名

函數(shù)調(diào)用步驟:

8. 作用域鏈

當(dāng)函數(shù)執(zhí)行的時(shí)候,形成一個(gè)私有作用域A,查看作用域中的這個(gè)變量是否為私有變量:

1)如果是私有變量:這個(gè)函數(shù)中的所有此變量,跟外面沒有任何關(guān)系;

2)如果不是私有變量:如果是獲取;往上級(jí)作用域進(jìn)行查找,如果找到,彈出,找不到繼續(xù)往上級(jí)作用域進(jìn)行查找…最終一直找到window,如果還沒有,報(bào)錯(cuò)

如果是設(shè)置;往上級(jí)作用域進(jìn)行查找,如果找到,重新賦值;找不到繼續(xù)往上級(jí)作用域進(jìn)行查找…最終一直找到window,如果還沒有,他就是window上的全局屬性;

9. 關(guān)于作用域

全局作用域:當(dāng)瀏覽器加載html頁(yè)面的時(shí)候,會(huì)形成一個(gè)供JS代碼執(zhí)行的環(huán)境;在這個(gè)全局作用域下,所有的全局變量都是window上的全局屬性; 所有的全局函數(shù),都是window上的全局方法;

私有作用域: 只在某個(gè)范圍內(nèi)有效,大多指函數(shù)內(nèi)部

10. 帶var和不帶var的區(qū)別

帶var: 1)會(huì)進(jìn)行預(yù)解釋 2)如果是全局變量,window的全局屬性

不帶var: 1)不會(huì)進(jìn)行預(yù)解釋 2)如果是設(shè)置;往上級(jí)作用域進(jìn)行查找,如果找到,重新賦值;找不到繼續(xù)往上級(jí)作用域進(jìn)行查找。。。。最終一直找到window,如果還沒有,他就是window上的全局屬性;

11. 私有變量有且只有兩種函數(shù)中帶var的

形參

12. 關(guān)于預(yù)解釋的無(wú)節(jié)操:自執(zhí)行函數(shù)不需要預(yù)解釋,當(dāng)代碼執(zhí)行到他的時(shí)候;聲明+定義+調(diào)用同步完成;

已經(jīng)聲明過的變量,不需要重新聲明,只需要重新賦值;

對(duì)于帶var的,我們之對(duì)等號(hào)左邊,進(jìn)行聲明;不運(yùn)行等號(hào)右邊的(即只聲明,不定義)

if 條件語(yǔ)句,無(wú)論條件是否成立,都會(huì)進(jìn)行預(yù)解釋

注意:在 if條件語(yǔ)句中不要定義函數(shù);因?yàn)楦鞔鬄g覽器對(duì)if語(yǔ)句的預(yù)解釋不同;很容易出錯(cuò);

return返回值不進(jìn)行預(yù)解釋;return下面的語(yǔ)句雖然不執(zhí)行,但是會(huì)進(jìn)行預(yù)解釋;

13. 閉包的作用防止變量名沖突

在閉包中對(duì)全局變量重新賦值,并且不影響全局變量

可以通過window.xx改變?nèi)肿兞?#xff1b;

閉包可以用來(lái)封裝;可以通過window.xxx=函數(shù)名;

14. 函數(shù)當(dāng)作表達(dá)式賦值給變量時(shí)注意事項(xiàng):

當(dāng)函數(shù)做為表達(dá)式賦值給一個(gè)變量的時(shí)候,是按照變量的預(yù)解釋機(jī)制進(jìn)行預(yù)解釋的;

這個(gè)變量名,是不是就相當(dāng)于函數(shù)名,雖然不能在上面調(diào)用,但是可以在函數(shù)賦值后調(diào)用;

15. 內(nèi)存

js中內(nèi)存:堆內(nèi)存 和 棧內(nèi)存

棧內(nèi)存:提供了一個(gè)供JS代碼執(zhí)行的環(huán)境

環(huán)境:全局環(huán)境,私有環(huán)境

堆內(nèi)存:存放是引用數(shù)據(jù)類型的值;對(duì)象:存的對(duì)象的屬性名和屬性值; 函數(shù):把函數(shù)體中的JS代碼做為字符串存在這個(gè)空間中

16. 內(nèi)存釋放

堆內(nèi)存釋放:只要堆內(nèi)存被變量占用,就無(wú)法釋放; var a=xxff00; a=null;

解決措施:讓 變量名=null; 即,讓變量名等于空指針,當(dāng)瀏覽器空閑的時(shí)候,就會(huì)把指向空指針的變量收回,瀏覽器的這種回收機(jī)制,叫做垃圾回收機(jī)制;

棧內(nèi)存:

全局作用域:當(dāng)瀏覽器加載完HTML頁(yè)面的時(shí)候,就形成一個(gè)全局作用域;只有關(guān)閉頁(yè)面,才能釋放;

如果不關(guān)閉頁(yè)面,那么全局作用域下的所有變量和內(nèi)容都無(wú)法得到釋放;

我們唯一能做的就是減少全局變量;

私有作用域:當(dāng)函數(shù)執(zhí)行的時(shí)候,形成一個(gè)私有作用域;一般情況下,當(dāng)函數(shù)執(zhí)行完成的時(shí)候私有作用域就被釋放;

有兩種情況不會(huì)被釋放:如果私有函數(shù)中有東西被函數(shù)外面的變量或者其他元素占用的時(shí)候,此函數(shù)不能釋放;

不立即釋放;這個(gè)函數(shù)執(zhí)行完成的時(shí)候,會(huì)返回一個(gè)函數(shù),被返回的這個(gè)函數(shù)還需要再執(zhí)行一次,等返回的函數(shù)執(zhí)行完成,所有的函數(shù)才能釋放;

17. ++n 和 n++ 的區(qū)別

++n 先++;再運(yùn)算; 15+(++n)=16; 15+(++n)=17;

n++ 先運(yùn)算,再++; 15+n++=15; 15+n++=16;

注意:再++時(shí),只是 n 自身的++;跟整個(gè)運(yùn)算沒有關(guān)系;

18. 關(guān)于this的小總結(jié)當(dāng)觸發(fā)一個(gè)元素身上的事件,執(zhí)行對(duì)應(yīng)的函數(shù)的時(shí)候,函數(shù)中的this,指向當(dāng)前這個(gè)元素;

當(dāng)函數(shù)執(zhí)行的時(shí)候,”.”前面是誰(shuí),this就是誰(shuí)

自執(zhí)行函數(shù)中的this,永遠(yuǎn)都是window;

總結(jié)

以上是生活随笔為你收集整理的js中当等于最小值是让代码不执行_JavaScript中最最基础的知识点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。