面向对象编程 OOP (Object Oriented Programming),定义一个类,从类中拿到对象,由对象去解决问题。
面向过程:面向过程专注于如何去解决一个问题的过程步骤。
面向对象的三大特征:封装、多态、继承。
类:一类具有相同属性和方法的集合;
对象:类中某个元素的具体化;
类是对象的抽象化,对象是类的具体化。类也是一种对象。
1.对象的声明
(1)通过object去声明一个对象
var obj = new Object(); new一个类或函数
obj.name = "奥迪";
obj.age = 17;
obj.run = function () {
var number = 10;
return number
} 声明对象
(2) 直接用{},声明里面一个值;
var obj={sname:Tom;}
(3)类的实例化
var obj3 = function(){this.sname = “marry”};
var obj4 = new obj3();
2.对象的两个重要性
constructor:返回当前对象的函数值;
instanceof:检验一个对象是不是一个类的实例;
var a = new Car();
var b = new Car2();
console.log(a)
console.log(a.constructor);
console.log(a instanceof Car2);
console.log(a instanceof Car);
js中的函数:函数即对象,程序可以随意操控他们。
闭包:函数可以嵌套在其他函数中定义,这样他们就可以访问他们被定义时所处的作用域中的任何变量。
//先执行了一次A()函数,然后返回一个function 给予这个a变量
var a = (function A() {
//全局变量
var value = 0;
return function () {
value++;
alert(value+"次数")
}
})();
1.函数生成的方法:
(1) 函数声明:
function Test() {
var a;
var b;
if(arguments.length == 2){
a = arguments[0];
b = arguments[1];
}
return a+b;
}
(2) 表达式声明函数
var x = function () {
var a;
var b;
if(arguments.length == 2){
a = arguments[0];
b = arguments[1];
}
return a+b;
}
(3)构造函数
var f = new Function("a","b","return a+b");
alert(f(1,10));
网友评论