JS中的闭包概念
闭包:嵌套的方法,外面的方法中定义了一个变量,里面的方法可以访问该变量.
注意的点:
- 没事不要写闭包,闭包可以模拟面向对象.
- 闭包通过作用域来实现,从最里面开始向外面衍生.先找到哪个就用哪个
JS中的数组
关键字:Array
用途:数组中可以存储任意类型的变量,且长度即使指定数组长度也无效.
数组中也可以存储键值对
创建数组的方式:
var arr=[1,2,3,4,5,6];//使用中括号是数组
创建键值对
var arr1={1:2,3:4};//使用大括号的是键值对
for(var i=0;i<arr.length;i++){
alert(arr[i]);
}
遍历输出数组中的值
for(var u in arr){
alert(i);
}
注意,这样子会输出arr的全部索引!!!
function Persion(){
this.Name='小样';
this.Age=18;
}
var p=new Person();
for(var key in p){
alert (key+""+p[key]);
}
注意,使用上述方法将会输出 Name小样 Age18.该种写法也是正确的,也就是说属性也可以通过索引的方式遍历出来
JS面向对象基础
方法名称的首字母小写
类名称的首字母大写.
这是判断是变量还是类的唯一标准
简单的说如果类中没有什么,就直接点出来就直接可以用了,不需要在进行类型的确定.
String对象的属性及常用方法
length属性:获取字符串的字符个数.无论中文字符还是英文字符都算一个字符.
charAt(index)方法:获取指定索引位置的字符(索引从0开始),根据索引找对应位置的字符串
indexOf(字符串,startIndex)方法:获取指定字符串第一次出现的位置.startIndex表示从第几个开始搜索,如果未找到则返回-1
split(‘分隔符’,limit):根据分隔符将一个字符串返回为一个数组.limit表示要返回的数组的最大长度.当有多个分隔符使用正则表达式.
注意:js中的数组可以直接输出,输出的结尾中间会自动加,
subsSr(startIndex,len):从startIndex开始,截取len个字符.
subString(startIndex,stopIndex):从startIndex开始,截取到stopIndex(注意,不包括stopIndex所在的字符)
ToUpperCase() 转换大写
ToLowerCase() 转换小写
给类型添加方法.
关键字:prototype
例如给string添加一个判断是否含有@的方法
String.prototype.isEmail=function(){
retutn this.indexOf('@')!=-1?true:false;
}
需要注意的点:这里使用this来代替点出来的对象
名称可以随意取