概述
5 捕获异常
try/catch/finally 语句用于处理代码中可能出现的错误信息。
try语句定义在执行时进行错误测试的代码块。
catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。
finally 语句在 try 和 catch 之后无论有无异常都会执行。
try {
try {
var str = undefined;
var result = str.trim();
} catch (ex) {
console.error("内层:", ex);
} finally {
console.log("finally");
}
} catch (ex) {
console.error(ex);
} finally {
console.log("外层的finally");
}
6 for-in循环
作用:循环对象或者数组
语法:for (变量名 in 数组名/对象名){}
for- in 循环会把原型链上的属性也循环到,但是当enumerable为false时不会循环
var obj = { x: 1, y: 2 };
Object.defineProperty(obj, 'z', {
value: 3,
enumerable: true // 可枚举
});
for (var key in obj) {
console.log(key); // x y z
console.log(obj[key]); // 1. 2. 3
}
7 面向对象
面向对象程序设计(Object-oriented programming,缩写:OOP)是种具有对象概念的程序编程典范,同时也是一种程序开发的抽象方针。它可能包含数据、属性、与方法。对象则指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性,对象里的程序可以访问与对象相关的数据。
7.1 理解面向对象
面向对象是一种开发思想。
面向过程:在开发过程中是关注过程 的开发方式,在开发时,关注每一个细节、步骤和顺序。
优缺点:性能较好 但是由于调试时需要实例化 消耗较大 不宜维护 不易复用 不易扩展
面向对象:在开发过程中,只需要找一个对象帮我们来完成事情。
优缺点:容易维护,容易复用,容易扩展,由于面向对象有封装 、继承 、多态的特性 ,可以设计出低耦合的系统
类和对象:
在 js 中所有的事物都是对象,字符串、布尔值、数值、函数等都是对象。
类:是具有相同属性和方法的集合,类是抽象的
对象:是一个具体的实例,对象是实际存在的
7.2 创建对象的方法
1、字面量方式创建对象,后期可以动态添加属性和方法,但是不能批量生产
var obj = {
name: "Alice", age: 18, show: function () {
console.log("我叫。。。。。。");
}
};
obj.gender = "男";
obj.run = function () {
console.log("我能跑!!");
}
2、内置构造函数的方式创建对象,在后期可以动态的添加属性和方法
var obj3 = new Object();
obj3.name = "Alice";
obj3.age = 18;
obj3.show = function () {
console.log("我叫。。。。。。");
}
3、工厂函数创建对象
function factory(name,age){
var obj =();
obj.name="张三";
obj,age=18;
obj.show=function(){
console.log("展示")
}
return obj;
}
4、自定义构造函数创建对象,需要和new关键字连用,函数名使用大驼峰命名法
function Factory(name,age){
this.name=name;
this.age=age;
this.show=function(){
console.log("展示")
}
}
var obj1 = new Factory("李四",17);
8 原型和原型链
8.1 原型
原型解决的问题:当想要给实例对象添加方法时,直接写在函数体中不好,为了解决这一问题,我们将方法写在原型上,在内存中就只用创建一个方法,供对象进行试验
概念:
每一个函数都有一个prototype属性,是一个对象
每一个对象上都有一个__proto__属性,指向所属构造函数的prototype
当访问对象的属性或方法时,首先在自身上进行查找,如果没有,就会去__proto__上去查找
作用:在原型上添加方法,在内存中只会创建一个方法,专门供对象进行使用
8.2 原型链
原型链:用__proto__属性串联起来对象链状结构
最后
以上就是精明母鸡为你收集整理的JS高级之捕获异常、for-in循环、面向对象和原型的全部内容,希望文章能够帮你解决JS高级之捕获异常、for-in循环、面向对象和原型所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复