JavaScript基础

、JavaScript 中函数的调用的几种方式 - 函数上下文(this)的指向

作为对象方法调用;this -> 对象

作为函数调用;this -> 全局对象(window)

作为构造函数调用;this -> new出来的对象

和使用 apply 或 call 调用。this -> 传入的 context

 

二、原型,原型链

原型:构造函数包含的proto对象。构造函数都有一个指针指向原型。

原型链:访问一个对象的属性时,

对象查找先在该构造函数内查找对应的属性,如果该对象没有该属性的话,

那么javascript会试着从该原型上去查找,如果原型对象中也没有该属性的话,

那么它们会从原型中的原型去查找,直到查找的Object.prototype也没有该属性的话,那么就会返回undefined;

将函数用作构造函数调用(使用new操作符调用)的时候,新创建的对象会从原型对象上继承属性和方法。

 

三、闭包

内部函数,可以访问外部函数的变量。

 

四、获取事件源

    element.onclick = function(ev){
        var e = ev || window.event;//获取事件
        var ele = e.target || e.srcElement;//获取触发事件的元素
        if(this === ele)//如果这个元素就是触发事件的元素
            alert(ele.innerHTML);//弹出他的内容
    }

 

 五、定时器

window.setTimeout([function],[interval]) 设置一个定时器,并且设定了一个等待的时间[interval],当到达时间后,

执行对应的方法[function],当方法执行完成定时器停止(但是定时器还在,只不过没用了);

window.setInterval([function],[interval]) 设置一个定时器,并且设定了一个等待的时间[interval],当到达时间后,

执行对应的方法[function],当方法执行完成,定时器并没有停止,以后每隔[interval]这么长的时间都会重新的执行对应的方法[function],

直到我们手动清除定时器为止; 详细

 

六、js操作对象中点操作和中括号操作的区别

中括号运算符总是能代替点运算符。但点运算符却不一定能全部代替中括号运算符。

中括号运算符可以用字符串变量的内容作为属性名。点运算符不能。

中括号运算符可以用纯数字为属性名。点运算符不能。

中括号运算符可以用js的关键字和保留字作为属性名。点运算符不能。

可以看出来,用点操作的时候,字符串变量的时候,返回undefined;纯数字的会报错;关键字和保留字js会自动忽略。而这些[]都可以。

 

七、javascript replace 替换全部

举例说明:

var str = "atetateg".replace("a",""); 则只会替换第一个a

var str = "atetateg".replace(/a/g,"");  会替换所有  /g 代表匹配全文

 

参考资料:

JavaScript核心(晋级高手必读篇)

JavaScript 秘密花园

浅谈javascript之事件、函数、方法、对象 各代表何含义,通俗解释及其之间的关联与区别

为什么JS事件函数里面都有一个参数(ev)?

DHTML.js javascript API ->DOM from webstorm

posted @ 2018-05-27 13:15  风过无痕521  阅读(130)  评论(0编辑  收藏  举报