JavaScript对象及初识面向对象
创建对象的两种方法,以及两者的区别
var obj = Object.defineProperty({}, 'a', {
value:'a'
});
//configurable: false<不可增删>
//enumerable: false<不可遍历>
//value: "a"
//writable: false<不可修改值>
var obj = {a:'a'}
//configurable: true<可增删>
//enumerable: true<可遍历>
//value: "a"
//writable: true<可修改值>
原型链在继承中的作用
继承,就是子类继承父类的方法和变量;
原型上可以定义一些方法和变量;
以这个原型建立的对象,可以使用原型方法和变量,从而实现继承。Object.prototyle.toString();//toString()是Object原型上的一个方法
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>原型链继承--封装DOM查询的例子</title>
<style type="text/css" media="all">
body{
width: 500px;
margin: 100px auto;
}
div{
background: #ddd;
}
</style>
</head>
<body>
<div id="div1">DIV1</div>
<div id ="div2">DIV2</div>
<script type="text/javascript" charset="utf-8">
//通过DOM节点的Id名返回DOM对象,类似jquery的 $("#Id")
function Elem(id){
this.elem = document.getElementById(id);
}
//获取或修改DOM节点的内容,类似jquery的 $("#Id").html()
Elem.prototype.html = function(val){
var e = this.elem;
if(val){
e.innerHTML = val;
return this;
}else{
return e.innerHTML;
}
}
//为DOM节点绑定事件,类似jquery的 $("#Id").on("click",function(...))
Elem.prototype.on = function(type,fn){
var e = this.elem;
e.addEventListener(type,fn);
return this;
}
//点击div1,修改div2内容
var div1 = new Elem("div1");
var div2 = new Elem("div2");
div1.on("click",function(){
div2.html("Hello world");
})
</script>
</body>
</html>
var arr = new Array();
arr[0]="hello";
arr[1]="world";
console.log(arr.toString());
JavaScript中的基本数据类型
number(数值类型)
string(字符串类型)
boolean(布尔类型)
null(空类型)
undefined(未定义类型)
object
基于Object对象的方式创建对象
var 对象名称=new Object( );
var flower=new Object();
flower.name=“长春花”;
flower.genera=“夹竹桃科 长春花属”;
flower.area=“非洲、亚热带、热带以及中国大陆的华东、西南、中南等地”;
flower.uses=“观赏或用药等”;
flower.showName=function(){ alert(this.name); }
flower.showName();
常见的内置对象
String(字符串)对象
Date(日期)对象
Array(数组)对象
Boolean(逻辑)对象
Math(算数)对象
RegExp对象