javascript
js中当等于最小值是让代码不执行_JavaScript中最最基础的知识点
JavaScript 中有很多很常用的也很基礎的知識點需要我們牢牢記住,倒背如流,這樣在開發的時候才能得心應手.
本文主要總結了DOM,Array,String,Math的一些常用方法,還有一些JS編程的基本常識.
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節點nodetypenodeNamenodeValue元素節點1大寫的標簽名null
文本節點3#text文本內容
注釋節點8#comment注釋內容
document9#documentnull
1.3 DOM節點屬性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 數組常用方法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) 刪除 返回值:刪除的內容以新數組的形式返回
splice(n,0,x) 添加
splice(n,m,x) 替換
6.slice
查找 slice(n,m)
克隆 slice()/ slice(0)
7.concat
數組拼接 ary1.concat(ary)
克隆 ary1.concat();
8.toString()
9.join() eval()
10.sort(function(a,b){return a-b})
11.reverse()
12.indexOf() 找到返回對應內容的索引 找不到-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個
6.substring(n,m) 從索引n開始,找到索引m,不包含索引m
7.slice(n,m)從索引n開始,找到索引m,不包含索引m; 可以取負值
8.split() 字符串轉數組
9.toUpperCase() 轉大寫
10.toLowerCase() 轉小寫
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() 取絕對值
Math.min() 取最小值
Math.max() 取最大值
Math.sqrt() 開平方
Math.pow() 冪
5. 為何學習預解釋如果函數中未定義此變量,為何還能拿到
函數中定義的變量,但是在賦值之前,我們仍然能拿到值,但是拿到是undefined
為何把var去掉進程還能正常執行;
在定義函數之前,調用函數,也能執行函數,為什么?
最終目的:寫代碼時,思路更加清楚,知道為何進程能正常執行,為何會報錯?避免很多不正規的寫法,因為這些不正規的寫法很容出錯,而且不會報錯
6. 預解釋
概念:在當前作用域下,在JS代碼執行之前,瀏覽器會對帶var和帶function進行提前聲明或者定義;
聲明:告訴瀏覽器有這么一個變量,但是沒有賦值,沒賦值拿到的undefined;
定義:對已經聲明過的這個變量進行賦值
關于變量和函數預解釋階段的不同帶var :只聲明不定義
帶function:聲明+定義;
7. 函數
定義步驟:1.開辟一個空間地址
2.把函數體中所有JS代碼做為字符串存在這個空間中
3.把空間地址賦值給函數名
函數調用步驟:
8. 作用域鏈
當函數執行的時候,形成一個私有作用域A,查看作用域中的這個變量是否為私有變量:
1)如果是私有變量:這個函數中的所有此變量,跟外面沒有任何關系;
2)如果不是私有變量:如果是獲取;往上級作用域進行查找,如果找到,彈出,找不到繼續往上級作用域進行查找…最終一直找到window,如果還沒有,報錯
如果是設置;往上級作用域進行查找,如果找到,重新賦值;找不到繼續往上級作用域進行查找…最終一直找到window,如果還沒有,他就是window上的全局屬性;
9. 關于作用域
全局作用域:當瀏覽器加載html頁面的時候,會形成一個供JS代碼執行的環境;在這個全局作用域下,所有的全局變量都是window上的全局屬性; 所有的全局函數,都是window上的全局方法;
私有作用域: 只在某個范圍內有效,大多指函數內部
10. 帶var和不帶var的區別
帶var: 1)會進行預解釋 2)如果是全局變量,window的全局屬性
不帶var: 1)不會進行預解釋 2)如果是設置;往上級作用域進行查找,如果找到,重新賦值;找不到繼續往上級作用域進行查找。。。。最終一直找到window,如果還沒有,他就是window上的全局屬性;
11. 私有變量有且只有兩種函數中帶var的
形參
12. 關于預解釋的無節操:自執行函數不需要預解釋,當代碼執行到他的時候;聲明+定義+調用同步完成;
已經聲明過的變量,不需要重新聲明,只需要重新賦值;
對于帶var的,我們之對等號左邊,進行聲明;不運行等號右邊的(即只聲明,不定義)
if 條件語句,無論條件是否成立,都會進行預解釋
注意:在 if條件語句中不要定義函數;因為各大瀏覽器對if語句的預解釋不同;很容易出錯;
return返回值不進行預解釋;return下面的語句雖然不執行,但是會進行預解釋;
13. 閉包的作用防止變量名沖突
在閉包中對全局變量重新賦值,并且不影響全局變量
可以通過window.xx改變全局變量;
閉包可以用來封裝;可以通過window.xxx=函數名;
14. 函數當作表達式賦值給變量時注意事項:
當函數做為表達式賦值給一個變量的時候,是按照變量的預解釋機制進行預解釋的;
這個變量名,是不是就相當于函數名,雖然不能在上面調用,但是可以在函數賦值后調用;
15. 內存
js中內存:堆內存 和 棧內存
棧內存:提供了一個供JS代碼執行的環境
環境:全局環境,私有環境
堆內存:存放是引用數據類型的值;對象:存的對象的屬性名和屬性值; 函數:把函數體中的JS代碼做為字符串存在這個空間中
16. 內存釋放
堆內存釋放:只要堆內存被變量占用,就無法釋放; var a=xxff00; a=null;
解決措施:讓 變量名=null; 即,讓變量名等于空指針,當瀏覽器空閑的時候,就會把指向空指針的變量收回,瀏覽器的這種回收機制,叫做垃圾回收機制;
棧內存:
全局作用域:當瀏覽器加載完HTML頁面的時候,就形成一個全局作用域;只有關閉頁面,才能釋放;
如果不關閉頁面,那么全局作用域下的所有變量和內容都無法得到釋放;
我們唯一能做的就是減少全局變量;
私有作用域:當函數執行的時候,形成一個私有作用域;一般情況下,當函數執行完成的時候私有作用域就被釋放;
有兩種情況不會被釋放:如果私有函數中有東西被函數外面的變量或者其他元素占用的時候,此函數不能釋放;
不立即釋放;這個函數執行完成的時候,會返回一個函數,被返回的這個函數還需要再執行一次,等返回的函數執行完成,所有的函數才能釋放;
17. ++n 和 n++ 的區別
++n 先++;再運算; 15+(++n)=16; 15+(++n)=17;
n++ 先運算,再++; 15+n++=15; 15+n++=16;
注意:再++時,只是 n 自身的++;跟整個運算沒有關系;
18. 關于this的小總結當觸發一個元素身上的事件,執行對應的函數的時候,函數中的this,指向當前這個元素;
當函數執行的時候,”.”前面是誰,this就是誰
自執行函數中的this,永遠都是window;
總結
以上是生活随笔為你收集整理的js中当等于最小值是让代码不执行_JavaScript中最最基础的知识点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: labview霍夫曼编码_哈夫曼编解码压
- 下一篇: 5 日期范围查询_MySQL(四)——复