对象的概念:对象是一个具体的事物。
对象是由书写和方法组成的
三种创建对象的方法
对象字面量(对象名中采取键值对的形式)
里面的属性或者方法,我们采用键值对的形式
多个属性和方法,我们用逗号隔开的
方法冒号后面我们用的是匿名函数
调用对象的属性,我们采用 对象名.属性名 或者对象名[‘属性名‘]
调用对象的方法 对象名.方法()
var obj ={ name = ‘张三‘, age = 18; sayHi:function(){ console.log(‘hi~~‘); } }
new Object 创建对象
利用等号来进行赋值,添加对象的属性和方法
var obj = new Object(); obj.name = ‘鸣人‘; obj.age = 19; obj.sex = ‘男‘; obj.skill = function(){ console.log(‘影分身‘); } console.log(obj.name); console.log(obj.skill());
利用构造函数创建对象(因为前面两种方法一次只能从创建一个对象)
function Star(name,age,sex){ this.name = name; this.age = age ; this.sex= sex; } var ldh = new Star(‘刘德华‘,18,‘男‘); console.log(ldh.name);
用来遍历对象或者数组,主要用域遍历对象,可以遍历对象的属性(主要),也可以遍历方法
var ldh = new Star(‘刘德华‘,18,‘男‘); for(var k in ldh){ console.log(k); console.log(ldh[k]); }
ldh[k] 里面的k不需要引号 这个k是一个变量
JS里面有三种对象:自定义对象,内置对象,浏览器对象(独有)
概念:JS语言自带的对象,提供给开发者使用,并且提供一些常用的或者是最基本而必要的功能
最大的优点:帮助我们快速开发
主要使用MDN(推荐),W3C来查询
使用方法:搜索对应的方法 就可以出现详细信息的功能(了解语法,参数,返回值)
字面量**
var arr = [1,2,3];
new Array()
var arr = new Array(2);//表示这个数组 长度 为2
var arr = new Array(2,3); 等价于[2,3]
1.instanceof : 判断格式
var arr = [];console.log(arr instanceof Array);//方法一console.log(Array.isArray(arr));//方法二
2.Array.isArray(参数)
IE9 以上支持,H5的新方法
push()方法
var arr = [1,3,4];arr.push(100);console.log(arr);arr.unshift(arr);
unshift 在数组的开头添加元素
arr.pop() :一次只能删除一个 最后的那个,返回的是删除的那个元素
arr.shift(); 删除数组第一个元素 一次只能删一个
arr.reverse();//可以之间翻转
arr.sort();排序 升序,降序
var arr = [2,1,3,4]; arr.sort(function(a,b){ return a-b;//a-b是升序排列,b-a是降序排列 }); console.log(arr);
arr.indexOf(‘blue‘); 只返回 **第一个 **满足条件的索引号
**找不到 **的情况下,则 返回-1
arr.lastIndexOf(‘blue‘);从**后面往前面查找 **查到到的第一个
拿着旧数组的元素去查询新数组,如果有了则不查询 利用indexOf()是否等于-1
function unique(arr){ var newArr = []; for(var i =0 ;i<arr.length;i++){ if(newArr.indexOf(arr[i]) === -1){ newArr.push(arr[i]); } } return newArr; } var arr =[1,1,3,3,2,2,5,5]; console.log(unique(arr));
arr.toString();
join(分隔符)
console.log(arr.toString());console.log(arr.join(‘--‘));
简单数据类型为什么有length的属性呢?
下面是他的内部运行过程
(1).把简单数据类型包装成复杂数据类型
var temp = new String(‘Andy‘);
(2).赋值给我们声明的变量
str = temp;
(3).销毁临时变量
temp = null;
字符串改变其实是指向的变化,是新开辟的字符
不要大量拼接字符串
字符串的所有操作都不会改变字符串本身
str.indexOf(‘要查找的字符‘,起始的位置)
console.log(str.replace(‘a‘,‘z‘));
他只会替换第一个字母
值类型:null(返回一个空对象),number,boolean,string,undefined
引用类型: