成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

前端容易忽略的小點(diǎn)

Cympros / 1015人閱讀

摘要:包裝對(duì)象所謂包裝對(duì)象,就是分別與數(shù)值字符串布爾值相對(duì)應(yīng)的三個(gè)原生對(duì)象。是等于的無(wú)輸出上面代碼的第一個(gè)例子之所以得到,是因?yàn)閷?duì)應(yīng)的包裝對(duì)象實(shí)例是一個(gè)對(duì)象,進(jìn)行邏輯運(yùn)算時(shí),被自動(dòng)轉(zhuǎn)化成布爾值因?yàn)樗袑?duì)象對(duì)應(yīng)的布爾值都是。

一、基本語(yǔ)法(es5) 1、語(yǔ)句和表達(dá)式的區(qū)別

前者主要為了進(jìn)行某種操作,一般情況下不需要返回值;后者則是為了得到返回值,一定會(huì)返回一個(gè)值。

let a = 1 + 3;// 這一整行表示一個(gè)語(yǔ)句 ,并且一行中可以存在多個(gè)語(yǔ)句,一條語(yǔ)句以;結(jié)束。 
// 而后面的1 + 3 是一個(gè)表達(dá)式
2、使用var等關(guān)鍵字定義的變量和不使用關(guān)健字定義的變量的區(qū)別
let a = 1
b = 2
// a和b的區(qū)別  從某種程度上講 都能用  區(qū)別在于 delete 不能刪除 a
// 因?yàn)閐elete可以刪除 windows.b
3、switch 語(yǔ)句中的case是執(zhí)行 === 判斷而不是 == 所以需要注意類型
switch (x) {
  case true:
    console.log("x發(fā)生類型轉(zhuǎn)換");
  default:
    console.log("x沒(méi)有發(fā)生類型轉(zhuǎn)換");
}
// x沒(méi)有發(fā)生類型轉(zhuǎn)換
二、運(yùn)算 1、使用“異或運(yùn)算”可以在不引入臨時(shí)變量的前提下,互換兩個(gè)變量的值
var a = 10;
var b = 99;

a ^= b, b ^= a, a ^= b;

a // 99
b // 10

es6中 解構(gòu)賦值也能快速互換變量的值

let x = 1;
let y = 2;

[x, y] = [y, x];
三、對(duì)象 1、Number()和toString()轉(zhuǎn)換規(guī)則

(1)Number()方法觸發(fā)的對(duì)象轉(zhuǎn)換
調(diào)用對(duì)象自身的valueOf方法。如果返回原始類型的值,則直接對(duì)該值使用Number函數(shù),不再進(jìn)行后續(xù)步驟。
如果valueOf方法返回的還是對(duì)象,則改為調(diào)用對(duì)象自身的toString方法。如果返回原始類型的值,則對(duì)該值使用Number函數(shù),不再進(jìn)行后續(xù)步驟。

如果toString方法返回的是對(duì)象,就報(bào)錯(cuò)。

if (typeof obj.valueOf() === "object") {
  Number(obj.toString());
} else {
  Number(obj.valueOf());
}

(2)String()方法觸發(fā)的對(duì)象轉(zhuǎn)換
與Number方法基本相同,只是互換了valueOf方法和toString方法的執(zhí)行順序。
先調(diào)用對(duì)象自身的toString方法。如果返回原始類型的值,則對(duì)該值使用String函數(shù),不再進(jìn)行以下步驟。

如果toString方法返回的是對(duì)象,再調(diào)用valueOf方法。如果返回原始類型的值,則對(duì)該值使用String函數(shù),不再進(jìn)行以下步驟。

如果valueOf方法返回的是對(duì)象,就報(bào)錯(cuò)。

2、console對(duì)象少用但是很有效的方法

(1)dir:該方法對(duì)于輸出DOM對(duì)象非常有用,因?yàn)闀?huì)顯示DOM對(duì)象的所有屬性

console.dir(document.body)

(2)conut:count方法用于計(jì)數(shù),輸出它被調(diào)用了多少次。

3、包裝對(duì)象

所謂“包裝對(duì)象”,就是分別與數(shù)值、字符串、布爾值相對(duì)應(yīng)的Number、String、Boolean三個(gè)原生對(duì)象。這三個(gè)原生對(duì)象可以把原始類型的值變成(包裝成)對(duì)象。

var v1 = new Number(123);
var v2 = new String("abc");
var v3 = new Boolean(true);

(1)new Boolean(false) 是等于true的

if (new Boolean(false)) {
  console.log("true");
} // true

if (new Boolean(false).valueOf()) {
  console.log("true");
} // 無(wú)輸出

上面代碼的第一個(gè)例子之所以得到true,是因?yàn)閒alse對(duì)應(yīng)的包裝對(duì)象實(shí)例是一個(gè)對(duì)象,進(jìn)行邏輯運(yùn)算時(shí),被自動(dòng)轉(zhuǎn)化成布爾值true(因?yàn)樗袑?duì)象對(duì)應(yīng)的布爾值都是true)。而實(shí)例的valueOf方法,則返回實(shí)例對(duì)應(yīng)的原始值,本例為false。

4、XMLHttpRequest對(duì)象
(1).open參數(shù)
oXMLHttpRequest.open(bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword);

/* bstrUrl
請(qǐng)求的URL地址,可以為絕對(duì)地址也可以為相對(duì)地址。
varAsync[可選]
布爾型,指定此請(qǐng)求是否為異步方式,默認(rèn)為true。如果為真,當(dāng)狀態(tài)改變時(shí)會(huì)調(diào)用onreadystatechange屬性指定的回調(diào)函數(shù)。
bstrUser[可選]
如果服務(wù)器需要驗(yàn)證,此處指定用戶名,如果未指定,當(dāng)服務(wù)器需要驗(yàn)證時(shí),會(huì)彈出驗(yàn)證窗口。
bstrPassword[可選]
驗(yàn)證信息中的密碼部分,如果用戶名為空,則此值將被忽略。
*/
四、es6小計(jì) 1、let聲明的變量不存在“變量提升”現(xiàn)象。
console.log(x); // undefined
let x = 10;
六、DOM 1、location
// 優(yōu)先從服務(wù)器重新加載
document.location.reload(true)
// 優(yōu)先從本地緩存重新加載(默認(rèn)值)
document.location.reload(false)
2、script defer屬性和async屬性到底應(yīng)該使用哪一個(gè)?

一般來(lái)說(shuō),如果腳本之間沒(méi)有依賴關(guān)系,就使用async屬性,如果腳本之間有依賴關(guān)系,就使用defer屬性。如果同時(shí)使用async和defer屬性,后者不起作用,瀏覽器行為由async屬性決定。

五、CSS&HTML 1、margin折疊
. margin 折疊元素只發(fā)生在塊元素上;
. 浮動(dòng)元素不與其他元素 margin 折疊
. 定義了屬性overflow且值不為visible(即創(chuàng)建了新的塊級(jí)格式化上下文)的塊元素,不與它的子元素發(fā)生margin 折疊
. 絕對(duì)定位元素的 margin 不與任何 margin 發(fā)生折疊
. 特殊:根元素的 margin 不與其它任何 margin 發(fā)生折疊
. 如果常規(guī)流中的一個(gè)塊元素沒(méi)有 border-top、padding-top,且其第一個(gè)浮動(dòng)的塊級(jí)子元素沒(méi)有間隙,則該元素的上外邊距會(huì)與其常規(guī)流中的第一個(gè)塊級(jí)子元素的上外邊距折疊
. 如果一個(gè)元素的 min-height 屬性為0,且沒(méi)有上或下邊框以及上或下內(nèi)邊距,且 height 為0或者 auto,且不包含行框,且其屬于常規(guī)流的所有孩子的外邊距都折疊了,則折疊其外邊距
2、link 和@import 的區(qū)別是
.link屬于HTML標(biāo)簽,而`@import`是CSS提供的; 
.頁(yè)面被加載的時(shí),link會(huì)同時(shí)被加載,而@import引用的CSS會(huì)等到頁(yè)面被加載完再加載;
.import只在IE5以上才能識(shí)別,而link是HTML標(biāo)簽,無(wú)兼容問(wèn)題; 
.link方式的樣式的權(quán)重 高于@import的權(quán)重.

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/86593.html

相關(guān)文章

  • 簡(jiǎn)單說(shuō) chrome瀏覽器 必知必會(huì)小技巧

    摘要:說(shuō)明這篇文章主要介紹的就是一些瀏覽器的小技巧,很簡(jiǎn)單,希望對(duì)大家有所幫助。顏色的,或十六進(jìn)制表示。單擊其中一個(gè)方塊將顏色更改為該方塊。在當(dāng)前顏色的,和表示之間切換。 說(shuō)明 這篇文章主要介紹的就是一些chrome瀏覽器的小技巧,很簡(jiǎn)單,希望對(duì)大家有所幫助。 這其中的一些小技巧在低版本中是沒(méi)有的,所以建議大家用最新版的,目前最新版是62,版本很重要,如果發(fā)現(xiàn)有些技巧不起作用,請(qǐng)先查看瀏...

    XanaHopper 評(píng)論0 收藏0
  • 簡(jiǎn)單說(shuō) chrome瀏覽器 必知必會(huì)小技巧

    摘要:說(shuō)明這篇文章主要介紹的就是一些瀏覽器的小技巧,很簡(jiǎn)單,希望對(duì)大家有所幫助。顏色的,或十六進(jìn)制表示。單擊其中一個(gè)方塊將顏色更改為該方塊。在當(dāng)前顏色的,和表示之間切換。 說(shuō)明 這篇文章主要介紹的就是一些chrome瀏覽器的小技巧,很簡(jiǎn)單,希望對(duì)大家有所幫助。 這其中的一些小技巧在低版本中是沒(méi)有的,所以建議大家用最新版的,目前最新版是62,版本很重要,如果發(fā)現(xiàn)有些技巧不起作用,請(qǐng)先查看瀏...

    imtianx 評(píng)論0 收藏0
  • 簡(jiǎn)單說(shuō) chrome瀏覽器 必知必會(huì)小技巧

    摘要:說(shuō)明這篇文章主要介紹的就是一些瀏覽器的小技巧,很簡(jiǎn)單,希望對(duì)大家有所幫助。顏色的,或十六進(jìn)制表示。單擊其中一個(gè)方塊將顏色更改為該方塊。在當(dāng)前顏色的,和表示之間切換。 說(shuō)明 這篇文章主要介紹的就是一些chrome瀏覽器的小技巧,很簡(jiǎn)單,希望對(duì)大家有所幫助。 這其中的一些小技巧在低版本中是沒(méi)有的,所以建議大家用最新版的,目前最新版是62,版本很重要,如果發(fā)現(xiàn)有些技巧不起作用,請(qǐng)先查看瀏...

    Travis 評(píng)論0 收藏0
  • JavasScript重難點(diǎn)知識(shí)

    摘要:忍者級(jí)別的函數(shù)操作對(duì)于什么是匿名函數(shù),這里就不做過(guò)多介紹了。我們需要知道的是,對(duì)于而言,匿名函數(shù)是一個(gè)很重要且具有邏輯性的特性。通常,匿名函數(shù)的使用情況是創(chuàng)建一個(gè)供以后使用的函數(shù)。 JS 中的遞歸 遞歸, 遞歸基礎(chǔ), 斐波那契數(shù)列, 使用遞歸方式深拷貝, 自定義事件添加 這一次,徹底弄懂 JavaScript 執(zhí)行機(jī)制 本文的目的就是要保證你徹底弄懂javascript的執(zhí)行機(jī)制,如果...

    forsigner 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

Cympros

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<