JavaScript基础—插曲02
2016-01-21 15:48
513 查看
Js学习基础
1:关于js中的数组
这里面可以是键值对的形式来存储的,我们必须利用forIn来输出,这就相当于foreach一样。
var dir = new Array();
dir['0'] = '1111';
dir['1'] = '2222';
dir['2'] = '3333';
alert(dir['0']);
for (var key in dir) {
alert('1'+key+'2'+dir[key]);
}
键值对集合的形式
var dicr = { '0': 'ahiu', '1': 'xiaohui', '2': 'aahui' };
for (var key in dicr) {
alert(''+key+' '+dicr[key]);
}
2:js中的String对象
CharAt(index)方法,获取指定索引位置的字符(索引从0开始)
var meg = '啊四道口附近的回复';
alert(meg.charAt(4));
indexOf('',startIndex):获取指定字符第一次出现的次数,startIndex表示从第几个开始找。
Split('分隔符',limit):根据分隔符将一个字符串返回一个数组,limit为返回数组的个数。
SubStr(startIndex,len):截取字符串,从第几个开始startIndex,截取几个字符len。
Substring(startIndex,stopIndex):截取字符串,从什么地方开始到什么地方结束。
ToUpperCase():转换大小写。
3:js中面向对象
à函数名小写,是函数,大写就是对象<js中叫做构造函数>。
à下面的是将person当作了普通的函数来调用。可以直接进行调用。
function person() {
}
person();
à这里是当作对象来使用。当成类来使用
function Person() {
}
var p = new Person();
à通过构造函数创建对象,且对象可以看成键值对集合,可以进行遍历(forIn)。这里的this就是我们的Person对象。就相当于创建了user_name,等变量。也可以直接点就可以直接创建。
//通过构造函数创建Person对象
function Person(name,age,email) {
this.user_name = name;
this.user_age = age;
this.user_email = email;
this.sayHello= function() {
alert(this.user_name+' '+this.user_age+' '+this.user_email);
}
}
var p = new Person('阿辉', '23', 'zhanghui.com');
p.sayHello();
à通过对象字面量直接创建对象(集合初始化器)
var p1 = {
user_name: 'ahui',
user_age: '23',
user_email: 'zhanghui.com',
sayHello: function() {
alert('大家好,才是真的好,我是:'+this.user_name);
},
sau_Hi: function() {
alert('ss'+this.user_email);
}
};
p1.sayHello();
4:instanceod判断哪个对象是那个类型
通过对象instanceof类型(),可以判断一个对象是否是某个类型。
function person(parameters) {
}
alert(person instanceof person);
alert(person instanceof Object);
5:函数对象中的prototype属性:原型
解释:原型,雏形,蓝本。
每个方法可以存到原型对象。原型对象是个单独的对象,是减少程序的运行时间。比如申明两个相同的函数里面若只是方法不同,则这些方法不会保存到栈中,他们二者相同的部分都保存到prototype中。
利用这个来实现js的继承,关于原型对象,属性和方法都可以存进去,但是大多数存储的是方法。
一般的普通对象没有这个属性,只有函数对象才有,相当于父类的方法,但是孩子不继承它的。可是孩子对象可以访问到父类的prototype方法中方法。
function Person(name,age,email) {
this.user_age = age;
this.user_email = email;
this.user_name = name;
}
//这里就是实现了js中的继承的关系
Person.prototype.sayHello=function() {
alert('11'+this.user_name);
};
var p1 = new Person('第一', '23', '333');
p1.sayHello();
var p2 = new Person('第二', 'aaaa', '3333');
p2.sayHello();
定义在prototype中的成员是所有对象共享的,所以一般讲方法定义在prototype中,而属性定义在构造函数中。通过该属性可以实现js的继承。不要为内置对象随便添加新成员,防止混乱,可以对自定义对象通过该方法添加新成员。
原型对象中的成员是只读的,不可以第二次的改变这个值。若是添加了,只是为其对象自己添加了个属性,并不是其原型中的值发生了改变。利用引用类型来理解就好了。
Eg:利用原型给现有类型添加方法。
String.prototype.addwjx = function() {
return
this + 'bbb';
};
var msg = 'aaaa';
msg=msg.addwjx();
alert(msg);
6:js中的继承<原型继承>
Js中没有类的概念,继承是通过对象和对象来实现的。这里的对象是new之后的。通过原型来使不同的对象之间关联起来。
<script type="text/javascript">
function Person(name,age) {
this.user_name = name;
this.user_age = age;
this.sayHello = function() {
alert('我叫'+this.user_name+',今年'+this.user_age);
};
};
function Student(name) {
this.ahui_name = name;
};
var person = new Person('阿辉', '23');
Student.prototype = person; //这里实现了继承,通过原型来使对象和对象之间连接起来。
var s1 = new Student('小辉');
s1.user_name = '阿辉+';
s1.user_age = '23+';
s1.sayHello();
</script>
1:关于js中的数组
这里面可以是键值对的形式来存储的,我们必须利用forIn来输出,这就相当于foreach一样。
var dir = new Array();
dir['0'] = '1111';
dir['1'] = '2222';
dir['2'] = '3333';
alert(dir['0']);
for (var key in dir) {
alert('1'+key+'2'+dir[key]);
}
键值对集合的形式
var dicr = { '0': 'ahiu', '1': 'xiaohui', '2': 'aahui' };
for (var key in dicr) {
alert(''+key+' '+dicr[key]);
}
2:js中的String对象
CharAt(index)方法,获取指定索引位置的字符(索引从0开始)
var meg = '啊四道口附近的回复';
alert(meg.charAt(4));
indexOf('',startIndex):获取指定字符第一次出现的次数,startIndex表示从第几个开始找。
Split('分隔符',limit):根据分隔符将一个字符串返回一个数组,limit为返回数组的个数。
SubStr(startIndex,len):截取字符串,从第几个开始startIndex,截取几个字符len。
Substring(startIndex,stopIndex):截取字符串,从什么地方开始到什么地方结束。
ToUpperCase():转换大小写。
3:js中面向对象
à函数名小写,是函数,大写就是对象<js中叫做构造函数>。
à下面的是将person当作了普通的函数来调用。可以直接进行调用。
function person() {
}
person();
à这里是当作对象来使用。当成类来使用
function Person() {
}
var p = new Person();
à通过构造函数创建对象,且对象可以看成键值对集合,可以进行遍历(forIn)。这里的this就是我们的Person对象。就相当于创建了user_name,等变量。也可以直接点就可以直接创建。
//通过构造函数创建Person对象
function Person(name,age,email) {
this.user_name = name;
this.user_age = age;
this.user_email = email;
this.sayHello= function() {
alert(this.user_name+' '+this.user_age+' '+this.user_email);
}
}
var p = new Person('阿辉', '23', 'zhanghui.com');
p.sayHello();
à通过对象字面量直接创建对象(集合初始化器)
var p1 = {
user_name: 'ahui',
user_age: '23',
user_email: 'zhanghui.com',
sayHello: function() {
alert('大家好,才是真的好,我是:'+this.user_name);
},
sau_Hi: function() {
alert('ss'+this.user_email);
}
};
p1.sayHello();
4:instanceod判断哪个对象是那个类型
通过对象instanceof类型(),可以判断一个对象是否是某个类型。
function person(parameters) {
}
alert(person instanceof person);
alert(person instanceof Object);
5:函数对象中的prototype属性:原型
解释:原型,雏形,蓝本。
每个方法可以存到原型对象。原型对象是个单独的对象,是减少程序的运行时间。比如申明两个相同的函数里面若只是方法不同,则这些方法不会保存到栈中,他们二者相同的部分都保存到prototype中。
利用这个来实现js的继承,关于原型对象,属性和方法都可以存进去,但是大多数存储的是方法。
一般的普通对象没有这个属性,只有函数对象才有,相当于父类的方法,但是孩子不继承它的。可是孩子对象可以访问到父类的prototype方法中方法。
function Person(name,age,email) {
this.user_age = age;
this.user_email = email;
this.user_name = name;
}
//这里就是实现了js中的继承的关系
Person.prototype.sayHello=function() {
alert('11'+this.user_name);
};
var p1 = new Person('第一', '23', '333');
p1.sayHello();
var p2 = new Person('第二', 'aaaa', '3333');
p2.sayHello();
定义在prototype中的成员是所有对象共享的,所以一般讲方法定义在prototype中,而属性定义在构造函数中。通过该属性可以实现js的继承。不要为内置对象随便添加新成员,防止混乱,可以对自定义对象通过该方法添加新成员。
原型对象中的成员是只读的,不可以第二次的改变这个值。若是添加了,只是为其对象自己添加了个属性,并不是其原型中的值发生了改变。利用引用类型来理解就好了。
Eg:利用原型给现有类型添加方法。
String.prototype.addwjx = function() {
return
this + 'bbb';
};
var msg = 'aaaa';
msg=msg.addwjx();
alert(msg);
6:js中的继承<原型继承>
Js中没有类的概念,继承是通过对象和对象来实现的。这里的对象是new之后的。通过原型来使不同的对象之间关联起来。
<script type="text/javascript">
function Person(name,age) {
this.user_name = name;
this.user_age = age;
this.sayHello = function() {
alert('我叫'+this.user_name+',今年'+this.user_age);
};
};
function Student(name) {
this.ahui_name = name;
};
var person = new Person('阿辉', '23');
Student.prototype = person; //这里实现了继承,通过原型来使对象和对象之间连接起来。
var s1 = new Student('小辉');
s1.user_name = '阿辉+';
s1.user_age = '23+';
s1.sayHello();
</script>
相关文章推荐
- 【JavaScript】闭包应用之数据缓存
- JavaScript高级程序设计学习笔记——基本概念
- javascript jsp登陆界面
- javascript 分离全局变量
- extjs combobox 如何获取点击事件
- jsp使用get和post请求中文不乱码
- js预处理和面向对象和原型链的一些理解
- JavaScript学习笔记(四):JS浏览器BOM
- JavaScript学习笔记(三):JavaScript 对象
- JS遍历Table合并单元格
- JavaScript js无间断滚动效果 scrollLeft方法 使用模板
- Jav 4000 aScript学习笔记(二):Function
- kindeditor上传视频
- JavaScript
- JavaScript学习笔记(一):Basic Knowledge
- package.json
- js之匿名函数
- Go Json字符串处理
- js浮点运算bug的解决办法
- map.js的编写(js编写一个对象的方式)