创建js对象
可以使用js提供的数据类型进行创建,也可以使用自己定义的函数进行创建
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="js/jquery-2.1.3.js" ></script>
<script type="text/javascript">
$(function(){
//(1)js一切都是对象,包括基本类型 和引用类型 ,函数,平时使用比较多,只是把引用类型看成对象
//创建对象方式一使用js提供的数据类型创建
var yyk = new Number(232);
//创建对象方式二,使用函数创建对象
var yyk1 = new Person("a");
//给yyk1添加属性sex和name并赋初始值
yyk1.sex="woman";
yyk1.name="yyk";
console.debug(yyk1);
console.debug(yyk);
})
var Person = function(){
}
</script>
</head>
<body>
</body>
</html>
js的if判断
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="js/jquery-2.1.3.js" ></script>
<script type="text/javascript">
$(function(){
var bl = false;
if(bl){
console.debug("能输出我把屏幕吃了")
}
var bll = new Boolean(false);
if(bll){
console.debug("这个会输出")
}
})
</script>
</head>
<body>
</body>
</html>
对象属性的添加及判断
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
var va = function(){}
var a = new va();
a.name="yyk";
a.age=18;
a.sex="女";
for(var key in a){
console.debug(a[key]);
}
</script>
</head>
<body>
</body>
</html>
json的操作
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="jquery-2.1.3.js" ></script>
<script type="text/javascript">
//先搞一个json字符串
var jsonn1 = '{"name":"yyk","age":19}';
//创建json对象
var jsonn2 = eval("("+jsonn1+")");
var jsonn3 = JSON.parse(jsonn1);
//转换为jquery对象,但是json的格式必须是标准格式
var jsonn4 = $.JSON.parse(jsonn1);
</script>
</head>
<body>
</body>
</html>
this的使用
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
var yyk1={
"yyk":"康大仙"
}
function yyk2(){
//this的指向和java中的类似,指向调用者
return this.name;
}
yyk1.say=yyk2();
console.debug(yyk1.say);
//this的指向是可以改变的
var obj2 = {"name":"结衣"};
var obj3 = {"name":"小鑫鑫"};
//console.log(sayHello('xxx111','yyyy111'));
//改变this指向
console.log(sayHello.apply(obj2,["xxx","yyy"]));
console.log(sayHello.call(obj3,"xxx","yyy"));
</script>
</head>
<body>
</body>
</html>
原型
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
function User(name,age,sex){
this.name = name;
this.age = age;
this.sex = sex;
this.eat = function(){
console.log('波波昨天晚上和星星一起吃饭');
}
}
//每一个对象都有prototype属性,我们可以通过该属性往对象上面添加属性和方法
User.prototype.eat = function(){
console.log('波波昨天晚上吃大餐...');
}
var user1 = new User('yyk',19);
console.dir(user1);
var user2 = new User('zdf',23);
console.dir(user2);
//对象里面原型属性 --这个原型属性也是一个对象
console.log(user1.__proto__ === user2.__proto__);
//同一个类的不同实例的原型是共享的;
//对象属性查找规则,先从自定义的属性上面找,如果找到,就返回,如果没有,从原型上面去找
user1.__proto__.sex = 'man';
</script>
</head>
<body>
</body>
</html>
闭包实现属性只读
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
var sum = 0;
function add(){
return sum++;
}
console.log(add());
console.log(add());
sum = 3;
console.log(add());
console.log(add());
console.log(add());
</script>
</head>
<body>
</body>
</html>