好用的做图网站有哪些,网站怎么维护更新,惠州网站建设方案外包,wordpress解密一、静态属性和静态方法
1、静态属性静态方法
在属性和方法前加上static#xff0c;创建属于类自己的属性和方法 class Person {// 加static#xff0c;属于类自己的static name xc; // 类的name属性static height 183; // 类的height属性static age 20;…一、静态属性和静态方法
1、静态属性静态方法
在属性和方法前加上static创建属于类自己的属性和方法 class Person {// 加static属于类自己的static name xc; // 类的name属性static height 183; // 类的height属性static age 20; // 类的age属性static sayName() { // 类的sayName方法console.log(this.name)}static sayHeight() { // 类的sayHeight方法console.log(this.height)}// 不加static属于类创建的对象的name jack; // 调用类创建的对象里面的属性height 165; // 调用类创建的对象里面的属性sayName() { // 调用类创建的对象里面的方法console.log(this.name)}sayHeight() { // 调用类创建的对象里面的方法console.log(this.height)}}Person.sayName(); // xcPerson.sayHeight(); // 183new Person().sayName(); // jacknew Person().sayHeight(); // 165 2、继承静态属性静态方法
本质为原型继承将Admin的原型设置为Person
使用方法class Admin extends Person { }; 类Admin现在可以调用Person里面的方法了 class Person {static uname xc;static age 20;static sayName() {console.log(this.uname)}username jack;sayName() {console.log(this.username)}}class Admin extends Person { };console.log(Admin.age); // 20Admin.sayName(); // xc 二、类检查
三种检测数据类型的方法
第一种typeof
以字符串的形式返回数据类型
优点简单快捷
缺点只能检测除null外的基本数据类型和function 第二种instanceof
判断某个对象是否属于一种引用数据类型返回布尔类型
例 console.log([1, 2, 3] instanceof Array); // true
优点可以判断出复杂的引用数据类型
缺点不能检测基本数据类型 第三种Object.prototype.toString.call() console.log(Object.prototype.toString.call(100)) // [ object Number ]
优点能检测出所有数据类型
缺点IE6下undefined和null均为Object 三、错误处理
1、try....catch....
try { // 代码... }
catch (err) { // 错误捕获 } 如果 try 中的代码块出错停止执行try中的代码仍然继续执行 catch 中的及后面的代码块
仅对运行时的 error 有效语法错误无效 try {console.log(ad);say();console.log(....);} catch (error) { // 错误信息被存在了变量“error”中console.dir(error);console.log(error.name);console.log(error.message);console.log(error.stack);}
name
Error 名称。例如对于一个未定义的变量名称是 ReferenceError。
message
关于 error 的详细文字描述。
还有其他非标准的属性在大多数环境中可用。其中被最广泛使用和支持的是
stack
当前的调用栈用于调试目的的一个字符串其中包含有关导致 error 的嵌套调用序列的信息。 throw // Throw 任意位置中断当前代码执行抛出错误信息 console.log(1) console.log(2) // throw 后面必须是new Error()构建的对象里面有 name:; message:; stack:: throw new Error(message hello); console.log(3) console.log(4) try。。。catch。。和throw结合自定义什么时候报错且报错信息是什么 let age;try { // 使用try缩小报错影响范围age prompt(age?)if (age 0 age 130) {console.log(age 岁);} else {throw new Error(error age);}console.log(Right age); // age是否正确决定这行是否执行} catch (error) {console.log(error)} try后面有个finally代码一定会执行 // try...catch(error)...finally...try {throw new Error();} catch (error) {console.log(error); // try中报错时执行} finally {console.log(finally); // 一定会执行不管是否报错} 全局catch
定义在开头程序有错误时调用停止执行当前程序 window.onerror function (message, url, line, col, error) {console.log(hello);console.dir(error)};throw new Error(error);console.log(1);console.log(1); 2、自定义Error扩展Error
使用类继承和自定义什么时候报错且报错信息是什么我们可以语义化错误设置不同的情景错误 // 自定义Error设置不同的情景错误都继承于Errorclass ageError extends Error {name ageError;};class phoneError extends Error {name phoneError;};class emailError extends Error {name emailError;};try {// throw new ageError(年龄错误);// throw new phoneError(手机号码错误);throw new emailError(邮箱号码错误)} catch (error) {console.log(error.name);console.log(error.message);}