慕课网上学习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 对象方法)通知浏览器不要执行与事件关联的默认动作。
数组和字符串之间的转换: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 对象方法)通知浏览器不要执行与事件关联的默认动作。
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- JavaScript拆分字符串时产生空字符的原因
- IE8开发人员工具教程(二)
- 在flex中执行一个javascript方法的简单方式
- Flex结合JavaScript读取本地路径的方法
- PowerShell中执行Javascript的方法示例
- javascript asp教程第六课-- response方法
- javascript asp教程More About Recordsets
- javascript asp教程第十二课---session对象
- javascript asp教程创建数据库连接
- javascript asp教程错误处理