js中零散知識點總結(jié)

1趁窃、想要準(zhǔn)確判斷一個變量是不是數(shù)組類型,不能使用typeof arr瀑构,因為返回結(jié)果是object刨摩,應(yīng)該使用arr instanceof Array澡刹,根據(jù)返回結(jié)果是true還是false進行判斷罢浇。

2、使用reduce處理數(shù)組的時候攒岛,因為每次迭代的時候都需要使用上一次計算的結(jié)果胞锰,所以一定記得將每次計算的結(jié)果進行return胜蛉,否則計算是無效的

3.js中return false的意思是函數(shù)終止并返回false色乾,意思就是return false以后的代碼都不會執(zhí)行暖璧,如果聲明變量接收返回值,那變量就是false澎办;return true的意思是函數(shù)終止并返回true局蚀,意思就是return true以后的代碼都不會執(zhí)行,如果聲明變量接收返回值扶欣,那變量就是true

4料祠、JavaScript中return與return false區(qū)別:return 的返回的是undefined,而 return false 返回的就是false敛苇,多數(shù)情況下兩者的效果是一樣的枫攀,因為undefined等價于false塘匣,但如果軟件要求嚴(yán)格檢測返回值的類別(比如要求必須是布爾值true和false)忌卤,那就不能混用了

5、js中Math.max用法Math.max(value1,value2)笤闯,然后返回其中的最大值颗味,當(dāng)然了牺弹,比較的個數(shù)沒有限制张漂,這里只寫兩個

6、word-wrap與word-break的區(qū)別磺陡,以及無效情況:
(1)word-break:break-all 例如div寬400px币他,它的內(nèi)容就會到400px自動換行憔狞,如果該行末端有個英文單詞很長(congratulation等)瘾敢,它會把單詞截斷硝枉,變成該行末端為conra(congratulation的前端部分)妻味,下一行為tulation(conguatulation)的后端部分了欣福。

(2)word-wrap:break-word 例子與上面一樣拓劝,但區(qū)別就是它會把congratulation整個單詞看成一個整體,如果該行末端寬度不夠顯示整個單詞栖博,它會自動把整個單詞放到下一行仇让,而不會把單詞截斷掉的躺翻。還有就是如果單詞太長的話也會進行分割公你。

我遇到一個情況,就是我設(shè)置了:

word-break:break-all 或者word-wrap:break-word都無效迂尝,字符串不會自動換行垄开。

經(jīng)過查證粗俱,發(fā)現(xiàn)原因會有兩個:1说榆、word-wrap對行內(nèi)元素是沒有效果的;2虚吟、一般情況下寸认,元素?fù)碛心J(rèn)的white-space:normal(自動換行,不換行是white-space:nowrap)串慰,可能是元素中設(shè)置的white-space是norwrap導(dǎo)致偏塞,無法換行。所以需要white-space:normal;word-break:break-all;這樣問題就解決了邦鲫。white-space 對程序中的空白進行處理灸叼,默認(rèn)是normal (瀏覽器會對空白進行忽略);(3)對table 的td 標(biāo)簽下的元素設(shè)置word-wrap:word-break是沒有效果的神汹。

7古今、slice和splice區(qū)別:

const arr=[1,2,3,4,5,6,7];
const result=arr.slice(2,4);
console.log(arr);//[1,2,3,4,5,6,7]
console.log(result);//[3, 4]
const arr2=[7,6,5,4,3,2,1];
const result2=arr2.splice(2,4,100,200,300);
console.log(result2);//[5, 4, 3, 2]
console.log(arr2)//[7, 6, 100, 200, 300, 1]

slice表示截取屁魏,slice(start,end)不改變原數(shù)組,返回新數(shù)組捉腥。

splice表示刪除氓拼,splice(start,length,item),會改變原數(shù)組抵碟,從某個位置開始刪除多個元素桃漾,并可以插入新的元素。

8拟逮、設(shè)計圖片作為背景鋪滿屏幕:

body{
  background-image: url(../img/map.png);
  background-position: center center;
  background-size: cover;
  background-attachment: fixed;
}

9撬统、如何解決npm下載慢的問題:
(1)使用cnpm:使用阿里定制的 cnpm 命令行工具代替默認(rèn)的 npm,輸入下面代碼進行安裝:$ npm install -g cnpm --registry=https://registry.npm.taobao.org以后安裝插件只需要使用cnpm intall即可敦迄。

(2)仍然使用npm恋追,只進行換源:輸入以下命令:npm config set registry https://registry.npm.taobao.org 再輸入:npm config list可以看到,已經(jīng)換源了

10罚屋、elementUI中el-scrollbar的使用:
前端UI界面設(shè)計的時候經(jīng)常會出現(xiàn)滾動條几于,但是瀏覽器默認(rèn)的滾動條一般比較難看,不推薦使用沿后。elementUI中有一個隱藏的組件el-scrollbar沿彭,在官方的教程中并沒有出現(xiàn),但是在實際使用中比較不錯尖滚,這里記錄一下使用方法以及使用中遇到的坑喉刘。

(1)使用方法:將會出現(xiàn)滾動條的部分直接放進組件el-scrollbar即可,然后將標(biāo)簽的height屬性設(shè)置為100%即可漆弄。

(2)注意事項:設(shè)置完之后查看效果會發(fā)現(xiàn)出現(xiàn)一個橫向的滾動條睦裳,此時需要添加以下css樣式即可,但是一定要注意不要在scoped私有變量中進行添加撼唾,而是應(yīng)該在app.vue 或者公共的css中進行添加廉邑,否則是沒有效果的。

.el-scrollbar__wrap{
  overflow-x: hidden;
}

11倒谷、angular中渲染對象數(shù)組:ng-repeat="value in item track by $index"

12蛛蒙、獲取表單 select域的選擇部分的文本

//HTML部分
<form name="formA">
  <select name="a" size="1" id=”obj”>
    <option value="a">1</option>
    <option value="b">2</option>
    <option value="c">3</option>
  </select>
</form> 
//js部分
const obj = document.getElementById('obj');
const result = obj.options[obj.selectedIndex].text;
console.log(result);

13、加號優(yōu)先級高于 三目運算渤愁。低于括號牵祟。所以以下代碼輸出define

//假設(shè)val已經(jīng)聲明,可定義為任何值
console.log('Value is ' + (val != '0') ? 'define' : 'undefine');

14、append() 和appendTo()方法在被選元素的結(jié)尾(仍然在內(nèi)部)插入指定內(nèi)容

15抖格、通過原生的js如何禁用id為 button1的按鈕button:

//方法1
document.getElementById("button1").disabled = true;
//方法2
document.getElementById("button1").setAttribute(“disabled”,”true”);

16诺苹、給網(wǎng)頁添加javascript的方式有:
1)使用script標(biāo)簽咕晋,將javascript代碼寫到<script></script>之間
2)添加外部javascript文件
3)使用行內(nèi)javascript
4)使用@import引入javascript文件(錯誤選項)

17、判斷obj對象是否具有val屬性:

var obj={}
……
obj.hasOwnProperty("val")

18收奔、準(zhǔn)備XMLHttpRequest對象時掌呜,在send()前需要調(diào)用open ()方法

19、angularjs1中服務(wù)的正確寫法是:ng-service

20坪哄、typeof Date.now() 的值是number站辉,原因:Date.now() 方法返回自1970年1月1日 00:00:00 UTC到當(dāng)前時間的毫秒數(shù)

21、如何規(guī)避javascript多人開發(fā)函數(shù)重名問題
1)可以通過命名規(guī)范损姜,比如根據(jù)不同的開發(fā)人員實現(xiàn)的功能饰剥,在函數(shù)名加前綴
2)每個開發(fā)人員都把自己的函數(shù)封裝到類中,然后調(diào)用的時候即使函數(shù)名相同摧阅,但是因為是要類.函數(shù)名來調(diào)用汰蓉,所以也減少了重復(fù)的可能性

22、Javascript內(nèi)置的可迭代對象:Array棒卷、Map顾孽、String,注意Object不是

23比规、在JavaScript中 false若厚,undefined,null蜒什,空字符串测秸,數(shù)字0 ,數(shù)字NaN被當(dāng)做假值

24灾常、== 和 ===的區(qū)別是霎冯,==會將兩邊的值進行隱式類型轉(zhuǎn)換,而 ===不會钞瀑。undefined和null轉(zhuǎn)換為Boolean類型后都為false沈撞,如果使用==會進行轉(zhuǎn)換,那么undefined和null相等啦雕什,如果使用===不會進行轉(zhuǎn)換缠俺,那么undefined和null不相等

25、瀏覽器端的JavaScript包含ECMAScript贷岸,DOM對象以及BOM對象

26壹士、JavaScript是一種動態(tài)類型,弱類型凰盔,基于原型墓卦,直譯式的腳本語言倦春。

27户敬、JavaScript語言不僅可以在瀏覽器環(huán)境運行落剪,也可以在node提供的服務(wù)器端的平臺運行

28、 var a=[]; a[0]=1; a[1]=2; a[2]=3; a[5]=4; 請問 a.length 的值是6

29尿庐、關(guān)于函數(shù)的幾種說法:
1)函數(shù)聲明語法定義:function sum(num1,num2){return num1+num2}
2)函數(shù)表達式定義函數(shù):1.var sum = function(num1,num2){return num1+num2};
3)var sum = new Function("num1","num2","return num1+num2");Function構(gòu)造函數(shù)可以接受任意數(shù)量的參數(shù)忠怖,但最后一個參數(shù)始終被看成函數(shù)體,注意函數(shù)表達式定義函數(shù)的方法與聲明其他變量時一樣需要加分號抄瑟。

//函數(shù)聲明
function sum(a,b){
  return a+b
}
//函數(shù)表達式
var sum = function(a,b){
  return a+b
}

30凡泣、數(shù)據(jù)類型轉(zhuǎn)換
1)沒有內(nèi)容就是undefined,這個就是false
2)0就是false,1是true
3)null跟undefined一樣,都是false
4)字符串里面有內(nèi)容的話才是true,沒有內(nèi)容就是false
5)NaN是一種數(shù)值類型,已經(jīng)是false了,只是為了讓程序繼續(xù)往下面走
其他解析: 數(shù)值只要不是0,都是true 對象object永遠(yuǎn)都是true

31、如果需要匹配包含文本的元素皮假,應(yīng)該使用contains()方法

32鞋拟、ES5中,forEach(), filter(), reduce(), every() 和some()都會跳過空位惹资,map()也會跳過空位贺纲,但會保留這個值,join()和toString()會將空位視為undefined褪测,而undefined和null會被處理成空字符串猴誊,ES6 中都會將空位當(dāng)做undefined

33、全局定義的函數(shù)和變量都是掛載到window對象上面的侮措,比如undefined是window的一個全局變量懈叹,所以undefined in window 的返回值是true

34、判斷對象是否具有某個屬性或者是數(shù)組是否具有某個索引值可以使用in操作符分扎,但是需要注意的是查看屬性必須是字符串類型的澄成,查看索引是數(shù)值類型

35、如果不給cookie設(shè)置過期時間畏吓,在瀏覽器會話結(jié)束時過期环揽。

36、在 javascript 中庵佣,用于阻止默認(rèn)事件的默認(rèn)操作的方法是preventDefault()

37歉胶、stopPropagation() 阻止事件冒泡。 這個事件不會阻止定義在元素上的其他事件巴粪。

38熟嫩、stopImmediatePropagation() 會徹底的阻止事件译柏, 在其之后的綁定在元素上的其他監(jiān)聽事件都不會觸發(fā)

39、preventDefault() 阻止事件的默認(rèn)動作

40、Number(null)返回0

41回论、IIFE(立即執(zhí)行函數(shù)表達式)中的this指向window

42、NOSCRIPT標(biāo)簽是用來定義在腳本未被執(zhí)行時的替代內(nèi)容偎血,例如

<body>  
...
  ...

  <script type="text/javascript">
    <!--
    document.write("Hello World!")
    //-->
  </script><noscript>Your browser does not support JavaScript!</noscript>...
  ...
</body> 

43志群、angularjs1中使用指令,綁定監(jiān)聽是在link時芭届。

44储矩、'.'表示是當(dāng)前目錄感耙,'..'表示是上級目錄,'./'和'../'分別對應(yīng)于當(dāng)前目錄和上級目錄持隧。

45即硼、移動端開發(fā)過程中盡量避免使用浮動來進行頁面布局,建議多采用flex布局屡拨,否則會發(fā)生各種未知的問題只酥。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市呀狼,隨后出現(xiàn)的幾起案子裂允,更是在濱河造成了極大的恐慌,老刑警劉巖哥艇,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件叫胖,死亡現(xiàn)場離奇詭異,居然都是意外死亡她奥,警方通過查閱死者的電腦和手機瓮增,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來哩俭,“玉大人绷跑,你說我怎么就攤上這事》沧剩” “怎么了砸捏?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長隙赁。 經(jīng)常有香客問我垦藏,道長,這世上最難降的妖魔是什么伞访? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任掂骏,我火速辦了婚禮,結(jié)果婚禮上厚掷,老公的妹妹穿的比我還像新娘弟灼。我一直安慰自己,他們只是感情好冒黑,可當(dāng)我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布田绑。 她就那樣靜靜地躺著,像睡著了一般抡爹。 火紅的嫁衣襯著肌膚如雪掩驱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機與錄音欧穴,去河邊找鬼民逼。 笑死,一個胖子當(dāng)著我的面吹牛苔可,可吹牛的內(nèi)容都是我干的缴挖。 我是一名探鬼主播袋狞,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼焚辅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了苟鸯?” 一聲冷哼從身側(cè)響起同蜻,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎早处,沒想到半個月后湾蔓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡砌梆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年默责,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片咸包。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡桃序,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出烂瘫,到底是詐尸還是另有隱情媒熊,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布坟比,位于F島的核電站芦鳍,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏葛账。R本人自食惡果不足惜柠衅,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望籍琳。 院中可真熱鬧茄茁,春花似錦、人聲如沸巩割。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宣谈。三九已至愈犹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背漩怎。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工勋颖, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人勋锤。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓饭玲,卻偏偏與公主長得像,于是被迫代替她去往敵國和親叁执。 傳聞我的和親對象是個殘疾皇子茄厘,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,435評論 2 359

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

  • JavaScript 1 初識JavaScript 1.1 JavaScript 是什么 JavaScript 是...
    SY閱讀 237評論 0 2
  • 數(shù)組 var arr = new Array(); // 用構(gòu)造函數(shù)的方式創(chuàng)建一個空的數(shù)組 var arr ...
    孤島上的葉子閱讀 124評論 0 0
  • 1. 閉包 閉包是指有權(quán)訪問另一個函數(shù)作用域中變量的函數(shù),創(chuàng)建閉包的最常見的方式就是在函數(shù)內(nèi)創(chuàng)建函數(shù)谈宛,通過函數(shù)訪問...
    抽瘋的稻草繩閱讀 1,369評論 0 26
  • 寫下標(biāo)題時次哈,我不禁回想起那年畢業(yè)季被找工作支配的恐懼。所謂天要下雨娘要嫁人吆录,裸轉(zhuǎn)前端勢在必行窑滞,抱著天生我材必有用的...
    vito1994閱讀 427評論 0 1
  • 一、js的基本類型有哪些恢筝?引用類型有哪些哀卫?null和undefined的區(qū)別?1撬槽、基本類型Number,Strin...
    林立鎮(zhèn)閱讀 815評論 0 18