Js

//一切皆对象(原始值+对象)
//基本类型-string number bool null undefined
//引用类型(object) array,object,function
//undefined 未定义
//null 空的对象
//创建三大引用类型
//var arr1 = new Array();
//arr1[0] = 1;
//var arr2 = new Array(1, 2, 3);
//var arr3 = ['1', '2', '3']; //字面量表示法
//['a']表示属性

//创建对象
//用new关键字创建对象
//var ob1 = new Object();
//ob1.name = "ob1";
//ob1.fun = function () {
// alert("ob1");
//}
//ob1.fun();
////用对象字面量
////简单字面量
//var ob2 = {};
//ob2.name = "ob2";
//ob2.fun = function () {
// alert(this.name);
//}
//ob2.fun();
////嵌套字面量 如果key中有空格,连接符,关键字需要用引号
//var ob3 = {
// name: 'ob3',
// fun: function () {
// alert(this.name);
// }
//};
//ob3.fun();

//函数表达式
//function add() {

//}//函数申明 可以先调用后申明
//var add1 = function () {

//}//函数表达式 必须在申明后调用

////构造函数,构造器 函数名字大写
//function Person(name,age) {
// this.name = name;
// this.age = age;
// this.fun = function () {
// return this.name + this.age;
// }
//}
////实例构造器
//var person = new Person('age', 20);
//alert(person.fun());
//alert(Person.age);

////构造函数和普通函数的区别
////1.this的指向
////构造函数的this指向创建的对象实例
////普通函数指向函数的调用者
////2.调用的方式
////new 和 ()
////3.命名方式
////构造函数全大写 普通函数第一个小写

//js 属性
//.xxx 方式和 ['xxx'] 方式2种
//var a = {};
//a.Name = 'a'; //取自身的选择
//a['age'] = 'b'; //可以取变量(去掉引号)
//alert(a.Name + a.age);
//var b = 'Name';
//alert(a[b]);

////属性删除 delete
//delete a.age;
//alert(a.age);

//属性的检测
//in 运算符 能获得继承的属性
//var obj = {
// name: 'name',
// age: 20
//};
//alert('name' in obj);
//delete obj.name;
//alert('name' in obj);
////使用hasOwnProperty()方法 不能获得继承的属性
//alert(obj.hasOwnProperty('name'));
////==判断值 ===判断类型 !=判断值取反 !==判断类型取反

////枚举属性
////for in
//var arr1 = ['a', 'b', 'c', 'd'];
//var arr2 = { name: 'name', age: 20 };
//for (var key in arr1) {
// alert(arr1[key]);
//}
//for (var key in arr2) {
// alert(arr2[key]);
//}
//for(var i)
//for (var i = 0; i < 10; i++) { };
//forEach()
//var arr1 = ['a', 'b', 'c', 'd'];
//var a1 = arr1.forEach(function (value, index) {

//})
////map() 返回新的数据
//var a2 = arr1.map(function (value, index) {
// return value + 1;
//})
//alert(a1);
//alert(a2);
//alert(arr1);

//序列化
//JSON.parse()对象字符串转为对象 JSON.stringify()//对象转为对象字符串
//var arr1 = { name: 'name', age: 20 };
//var arr2 = JSON.stringify(arr1);
//var arr3 = JSON.parse(arr2);
//arr3.name = 'age';
//alert(arr1.name);
//alert(arr3.name);

//深拷贝 浅拷贝
//数组 slice() concat() 返回新的数组

posted @ 2018-09-25 17:54  KIDDK  阅读(152)  评论(0编辑  收藏  举报