一、字符串常用方法
str.charAt() 在字符串中查找某一位置的字符
str.indexOf() 在字符串中查找字符首次出现的位置
如果找不到,返回-1
str.lastIndexOf() 在字符串中查找字符最后出现的位置
如果找不到,返回-1
str.substring() 截取字符串
str.substring(start,end) 不包括end
简写
str.substring(start) 从start截取到最后
str.split() 拆分字符串-》数组
str.toUpperCase() 字符串小写字母-》大写字母
str.toLowerCase() 字符串大写字母-》小写字母
检测浏览器版本信息
window.navigator.userAgent
二、数组常用方法
arr.push(); 在数组后面添加
arr.pop(); 在数组后面删除
arr.unshift(); 在数组前面添加
arr.shift(); 在数组前面删除
删除会把删掉的东西返回。
arr.splice(); 删除,添加,替换
arr.splice(start,length); 删除
arr.splice(start,0,item1,item2,item3....) 添加
arr.splice(start,length,item1,item2...) 替换
arr.join(); 合并数组-》字符串
arr.reverse(); 反转
arr.concat(); 拼接数组
arr.sort(); 数组排序
深入sort
arr.sort(function(iNum1,iNum2){
return iNum1-iNum2; 从小到大
return iNum2-iNum1; 从大到小
});
三、Math常用方法
Math.random(); 获取0-1的随机小数,不包括1
Math.floor(); 向下取整
Math.ceil(); 向上取整
Math.round(); 四舍五入
Math.sqrt(); 开方
Math.pow(); 幂 n次方
Math.abs(); 绝对值
Math.max(); 取最大值
Math.min(); 取最小值
四、JSON
var arr = ['apple','lucy','banana','eric'];
var json = {'name':'eric','age':18,'gender':'男'};
key:value 键值对
数组和json的区别
数组 json
结构 ['as','bb'] {key:value,key:value} 键值对
访问内容 下标 key
length 有 无
循环 for for...in
for...in
for(var key in json){
key 键
json[key] 值
}
可以操作json也可以操作数组。
平时只用来操作json。
for...in 性能比for循环差。
五、i的问题,执行时机
循环中加事件,事件中使用i
循环中加定时器,定时器中使用i
解决:
1.自定义属性
2.封闭空间
function(){}() 报错,官方不允许
解决:
(function(index){
})(i);
封闭空间
(function(){
})();
作用:
1.解决i的问题
2.解决变量名冲突问题
六、作用域
起作用的范围
全局
外面没有任何函数包裹
在任何地方都可以使用
局部
只能在声明他的函数内使用
闭包
子函数可以使用父函数的局部变量
七、表达式,预解析
js语言特性:
不加var声明变量,是全局的
window的就是全局的
等号表达式
var a = b = c = 12;
除了a是局部的,剩下的都是全局的
逗号表达式
听逗号后面的
a = (12,5);
alert((12,5));
var name = 'eric',
age = 18,
gender = '男';
预解析
在js执行之前,会把所有声明提到顶部
不会突破作用域
读取一个script标签,预解析,执行代码-》读取下一个script标签,预解析,执行代码-》读取下一个
网友评论