在学习时要善于查询MDN文档。
对象
利用对象字面量创建对象
- 语法格式:
var obj = {}; // 创建了一个空的对象
-
注意: (1)里面的属性或者方法我们采取键值对的形式 键 属性名 : 值 属性值
(2) 多个属性或者方法中间用逗号隔开的
(3)方法冒号后面跟的是一个匿名函数 -
使用对象:(1). 调用对象的属性我们采取 对象名.属性名
(2).调用属性还有一种方法: 对象名[‘属性名’]
(3).调用对象的方法 sayHi 对象名.方法名() 千万别忘记添加小括号 -
代码:
var obj = {
uname: '张三疯',
age: 18,
sex: '男',
sayHi: function() {
console.log('hi~');
}
}
console.log(obj.uname);
console.log(obj['age']);
obj.sayHi();
变量、属性、函数、方法的区别
- 变量和属性的相同点 :他们都是用来存储数据的
变量 :单独声明并赋值 使用的时候直接写变量名 单独存在
属性 :在对象里面的不需要声明的 使用的时候必须是 对象.属性 - 函数和方法的相同点 :都是实现某种功能 做某件事
函数:是单独声明 并且调用的 函数名() 单独存在的
方法: 在对象里面 调用的时候 对象.方法()
new Object创建对象
- 我们是利用 等号 = 赋值的方法 添加对象的属性和方法
- 每个属性和方法之间用 分号结束
- 代码:
var obj = new Object(); // 创建了一个空的对象
obj.uname = '张三疯';
obj.age = 18;
obj.sex = '男';
obj.sayHi = function() {
console.log('hi~');
}
console.log(obj.uname);
console.log(obj['sex']);
obj.sayHi();
构造函数创建对象
- 语法格式:
function 构造函数名() {
this.属性 = 值;
this.方法 = function() {}
}
new 构造函数名(); - 代码
function Star(uname, age, sex) {
this.name = uname;
this.age = age;
this.sex = sex;
this.sing = function(sang) {
console.log(sang);
}
}
var ldh = new Star('刘德华', 18, '男'); // **调用函数返回的是一个对象**
// console.log(typeof ldh);
console.log(ldh.name);
console.log(ldh['sex']);
ldh.sing('冰雨');
var zxy = new Star('张学友', 19, '男');
console.log(zxy.name);
console.log(zxy.age);
zxy.sing('李香兰')
构造函数和对象
- 构造函数 : 明星 泛指的某一大类 它类似于 java 语言里面的 类(class)
- 对象: 特指 是一个具体的事物 刘德华 == {name: “刘德华”, age: 18, sex: “男”, sing: ƒ}
- 我们利用构造函数创建对象的过程我们也称为对象的实例化
new 关键字
- new关键字的执行过程:
(1) ew 构造函数可以在内存中创建了一个空的对象
(2) this 就会指向刚才创建的空对象
(3) 执行构造函数里面的代码 给这个空对象添加属性和方法
(4) 返回这个对象 - 代码:
function Star(uname, age, sex) {
this.name = uname;
this.age = age;
this.sex = sex;
this.sing = function(sang) {
console.log(sang);
}
}
var ldh = new Star('刘德华', 18, '男');
for in 遍历对象
- 语法格式:
for (变量 in 对象) { //我们使用 for in 里面的变量 我们喜欢写 k 或者 key } - 代码:
var obj = {
name: 'pink老师',
age: 18,
sex: '男',
fn: function() {}
}
for (var k in obj) {
console.log(k); // **k 变量 输出 得到的是 属性名**
console.log(obj[k]); // **obj[k] 得到是 属性值**
}
字符
数组转换为字符串
1、toString() 将我们的数组转换为字符串
2、join(分隔符)
3、代码:
var arr = [1, 2, 3];
console.log(arr.toString()); // 1,2,3
var arr1 = ['green', 'blue', 'pink'];
console.log(arr1.join()); // green,blue,pink
console.log(arr1.join('-')); // green-blue-pink
console.log(arr1.join('&')); // green&blue&pink
基本包装类型
- 基本包装类型就是把简单数据类型 包装成为了复杂数据类型 。
- 对象 才有 属性和方法 , 复杂数据类型才有 属性和方法
根据字符返回位置
- 语法格式: str.indexOf(‘要查找的字符’, [起始的位置])
- 代码:
var str = '改革春风吹满地,春天来了';
console.log(str.indexOf('春', 3)); // 从索引号是 3的位置开始往后查找
根据位置返回字符
1.charAt(index) 根据位置返回字符
2. charCodeAt(index) 返回相应索引号的字符ASCII值 目的: 判断用户按下了那个键
3. str[index] H5 新增的
字符串操作方法
- concat(‘字符串1’,‘字符串2’…)
- substr(‘截取的起始位置’, ‘截取几个字符’);
- 替换字符 replace(‘被替换的字符’, ‘替换为的字符’) 它只会替换第一个字符
- 字符转换为数组 split(‘分隔符’) 前面我们学过 join 把数组转换为字符串