您的位置:首页 > Web前端 > JavaScript

慕课网上学习JS的笔记

2015-09-07 14:59 555 查看
1.

数组和字符串之间的转换:join或toString/split

从已有的数组中返回选定的元素:slice(数组会发生改变,被切掉了slice的部分)

substring(a,b)  提取第a到第b的字符,另外如果a<b,就取从第b到第a个字符

substr(a,b)     提取第a开始b个字符
理论上以上包括slice()里面都可以有负数,意思为第(总长度加负值)个,但substr()有负值在IE下的JS有兼容性问题

2.

textArea.onblur = function(){

                    var that = this;

                    setTimeout(function(){

                        that.value = that.value==""?"评论…":that.value;

                        that.parentNode.className = 'text-box';

                    },200)

                }

函数里有计时器时,this的指向会改变,在计时器外存成另一个变量即可

3.

jsonp 只支持get请求

4.

html5 跨域方法 XHR2

header("Content-Type:application/json;charset=utf-8");

在头部下面加下面两句

header("Access-Control-Allow-Origin:*");  星号改为允许访问的地址

header("Access-Control-Allow_methods:POST,GET");

5.

if(!document.getElementByClassName){

    document.getElementByClassName = function(cls){

        var ret = [];

        var els = document.getElementByTagName(*);

        for(i = 0; i < els.length; i++){

            if(els[i].className === cls || els[i].className.indexOf(cls+'')==0

                                        || (els[i].className.indexOf(''+cls)+cls.length+1) == els[i].className.length

                                        || els[i].className.indexOf(''+cls+'')>=0){

                ret.push(els[i]);

            }

        }

        return ret;

    }

}

6.

getAttribute 获取属性的值(针对自定义的属性)

setAttribute 创建和修改属性(应该也是针对自定义的属性做设置和修改)

修改属性也可以 dom.属性直接赋值;但好像直接赋值作用的范围有限,不能完全代替setAttribute

但给dom设置如disable此类属性时又只能用直接赋值;(应该是对自身存在属性做修改)

7.

for循环删除内容时加上 i--;

循环里this和第[i]个元素指向区别:

aBtn[i].onclick=function(){

aBtn[i].style.background='red'; // 此时, aBtn[i] 为最后一次循环的结果,即: aBtn[aBtn.length-1] };

aBtn[i].onclick=function(){

this.style.background='red'; // 此时, this 指向当前对象,即谁调用了 onclick ,谁呢?};

8.

textarea的取值是.value 而不是innerHTML

9.

阻止事件冒泡的写法!~!~!~

function(ev){

var ev = ev || window.event

ev.cancelBubble = true;

ev.stopPropagation(); //也可

}

1、cancelBubble(HTML DOM Event 对象属性) :如果事件句柄想阻止事件传播到包容对象,必须把该属性设为 true。

2、stopPropagation(HTML DOM Event 对象方法):终止事件在传播过程的捕获、目标处理或起泡阶段进一步传播。调用该方法后,该节点上处理该事件的处理程序将被调用,事件不再被分派到其他节点。

3、 preventDefault(HTML DOM Event 对象方法)通知浏览器不要执行与事件关联的默认动作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript