js細枝末節(jié)(1)

(2)onmouseenter與onmouseover的區(qū)別

onmouseover與onmouseenter 事件在鼠標(biāo)指針進入 div 元素時都會觸發(fā),唯一的區(qū)別是 onmouseenter 事件不支持冒泡 ,作用在子元素上時不會觸發(fā)

  • onmouseover對應(yīng)onmouseout
  • onmouseenter對應(yīng)onmouseleave

(4)正則去字符串兩邊空格

function totrim(str){
                return str.replace(/(^\s*)|(\s*$)/g,"");
            }
            String.prototype.trim = function(){
                return this.replace(/(^\s*)|(\s*$)/g,"");
            } //為字符串原型上添加trim方法去除兩端空格
            var des = "   cool    ";
            var end = "haha";
            var start = "mynameis";
            var connect = start + des + end;
            console.log(connect);      //mynameis   cool    haha  
            var connect1 = start + totrim(des) + end;  
            console.log(connect1);         //mynameiscoolhaha

一定要加上g,不然只會去掉字符串前面的空格鹅龄,進行全局匹配


(7)原始值:布爾,數(shù)字涝婉,字符串,null,undefined

原始值與復(fù)雜值(對象)的區(qū)別是每個對象有唯一的標(biāo)識

var obj = {name:"weiwei"};
var obj2 = {name:"weiwei"};
console.log(obj === obj2); //false

原始值的屬性不能被改變蔗怠,添加移除

var str1 = "wei";
str1.length = 1;
console.log(str1.length);   //3

(8)特殊的變量arguments

function params(){ return arguments};

var args = params('w','e','i');

args.length  //3
args[2]  //'i'

(9)將arguments轉(zhuǎn)換為數(shù)組

function get_args(){
        return toArray(arguments);
}
function toArray(likeArray){
        return Array.prototype.slice.call(likeArray);   //slice?
}
console.log(get_args('wei','da','pao','haha'));
//Array [ "wei", "da", "pao", "haha" ]

(11)map和parseInt的坑

console.log([1,2,3].map(parseInt)) //Array [ 1, NaN, NaN ]

parseInt接收兩個參數(shù)瞒滴,第一個是需要轉(zhuǎn)換的值熏迹,第二個是參數(shù)參考的進制

任何數(shù)的零進制表示這個數(shù)本身,高于進制位所能表示的最大值數(shù)返回NaN(not a number),例如2的一進制返回NaN,因為一進制只能表示0和1

map方法里面接收一個函數(shù),函數(shù)可以有三個參數(shù)祖凫,第一個參數(shù)是需要遍歷的值摔癣,第二個參數(shù)是索引楞捂,第三個數(shù)組本身烧给,

因此可以理解為

parseInt('1',0);    //1
parseInt('2',1);    //NaN
parseInt('3',2);    //NaN

但是有一些情況會非常難受
console.log(parseInt(10,9));   //9
console.log(parseInt(15,14));    //19

parseInt(15,14); 將15拆成1加5,1的十四進值是14侵浸,而5表示5旺韭,14+5=19


(14)對象方法中的函數(shù),導(dǎo)致的this丟失問題
var people = {
        name:"bang",
        classmates:['joe','john','flank'],
        count:function(){
            this.classmates.forEach(function(value){
            console.log(this.name + " say hello to " + value);
        },this)
    }
}
people.count();
//bangsay hello to joe  
//bangsay hello to john  
//bangsay hello to flank

嵌套函數(shù)內(nèi)部不能去訪問方法中的this變量

var girl = {
    face:"beauty",
    assess:function(){
    var that = this;
    return function(){
    console.log('girl is '+ that.face);
           }
      }
  }
girl.assess()();

Array.prototype.forEach(callback(currentValue, index, array){
// do something
}[,thisArg]);


(16)有權(quán)訪問另一個函數(shù)作用域內(nèi)變量的函數(shù)都是閉包

定義在一個函數(shù)內(nèi)部的函數(shù)
閉包最大用處有兩個掏觉,一個是前面提到的可以讀取函數(shù)內(nèi)部的變量区端,另一個就是讓這些變量的值始終保持在內(nèi)存中

(17)閉包一個
<script>
        var myarr = [];
        for(var i = 0;i < 7;i++){
            myarr.push(console.log.bind(null,i));
        }
        myarr[0](); //0
        myarr[2](); //2
        /*****************************/
        var myarr1 = [];
        for(let j = 0;j < 7;j++){
            myarr1.push(function(){
                console.log(j);
            })
        }
        myarr1[2](); //2
        myarr1[5](); //5
    </script>

還沒搞懂為什么用let和bind()

(19)Array.isArray([])

鮮為人知的事實:其實 Array.prototype 也是一個數(shù)組。
Array.isArray(Array.prototype) // true

(20)嚴(yán)格模式
struct.PNG
(21)getBoundingClientRect
image.png
(22)load與domcontentloaded
image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末履腋,一起剝皮案震驚了整個濱河市珊燎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌遵湖,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,207評論 6 521
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晚吞,死亡現(xiàn)場離奇詭異延旧,居然都是意外死亡,警方通過查閱死者的電腦和手機槽地,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,455評論 3 400
  • 文/潘曉璐 我一進店門迁沫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人捌蚊,你說我怎么就攤上這事集畅。” “怎么了缅糟?”我有些...
    開封第一講書人閱讀 170,031評論 0 366
  • 文/不壞的土叔 我叫張陵挺智,是天一觀的道長。 經(jīng)常有香客問我窗宦,道長赦颇,這世上最難降的妖魔是什么二鳄? 我笑而不...
    開封第一講書人閱讀 60,334評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮媒怯,結(jié)果婚禮上订讼,老公的妹妹穿的比我還像新娘。我一直安慰自己扇苞,他們只是感情好欺殿,可當(dāng)我...
    茶點故事閱讀 69,322評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著鳖敷,像睡著了一般脖苏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上哄陶,一...
    開封第一講書人閱讀 52,895評論 1 314
  • 那天帆阳,我揣著相機與錄音,去河邊找鬼屋吨。 笑死蜒谤,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的至扰。 我是一名探鬼主播鳍徽,決...
    沈念sama閱讀 41,300評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼敢课!你這毒婦竟也來了阶祭?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,264評論 0 277
  • 序言:老撾萬榮一對情侶失蹤直秆,失蹤者是張志新(化名)和其女友劉穎濒募,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體圾结,經(jīng)...
    沈念sama閱讀 46,784評論 1 321
  • 正文 獨居荒郊野嶺守林人離奇死亡瑰剃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,870評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了筝野。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片晌姚。...
    茶點故事閱讀 40,989評論 1 354
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖歇竟,靈堂內(nèi)的尸體忽然破棺而出挥唠,到底是詐尸還是另有隱情,我是刑警寧澤焕议,帶...
    沈念sama閱讀 36,649評論 5 351
  • 正文 年R本政府宣布宝磨,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏懊烤。R本人自食惡果不足惜梯醒,卻給世界環(huán)境...
    茶點故事閱讀 42,331評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望腌紧。 院中可真熱鬧茸习,春花似錦、人聲如沸壁肋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,814評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽浸遗。三九已至猫胁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間跛锌,已是汗流浹背弃秆。 一陣腳步聲響...
    開封第一講書人閱讀 33,940評論 1 275
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留髓帽,地道東北人菠赚。 一個月前我還...
    沈念sama閱讀 49,452評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像郑藏,于是被迫代替她去往敵國和親衡查。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,995評論 2 361

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