网站建设做网站怎么做,如何建立网站会员系统,江西宣传片制作公司,点击seo软件JavaScript类
使用关键字class创建类。
始终添加constructor()方法
class ClassName{constructor(){...}
}
calss Car{constructor(name,year){this.namename;this.yearyear;
}
}
创建了一个名为Car的类#xff0c;并且拥有两个初始属性name和year。
JavaScript类不是对…JavaScript类
使用关键字class创建类。
始终添加constructor()方法
class ClassName{constructor(){...}
}
calss Car{constructor(name,year){this.namename;this.yearyear;
}
}
创建了一个名为Car的类并且拥有两个初始属性name和year。
JavaScript类不是对象只是JavaScript对象的模板。
!DOCTYPE html
html
bodyh1JavaScript 类/h1p如何使用 JavaScript 类。/pp iddemo/pscript
class Car {constructor(name, year) {this.name name;this.year year;}
}const myCar new Car(Ford, 2014);
document.getElementById(demo).innerHTML
myCar.name myCar.year;
/script/body
/html
使用Car类创建了一个个car对象在创建新对象时会自动调用constructor方法。
constructor方法是一种特殊的方法
它必须有确切名称的“构造函数”
创建新对象时自动执行
用于初始化对象属性
如果未定义构造函数方法JavaScript会添加空的构造函数方法。
class Car {constructor(name, year) {this.name name;this.year year;}age() {let date new Date();return date.getFullYear() - this.year;}
}let myCar new Car(Ford, 2014);
document.getElementById(demo).innerHTML My car is myCar.age() years old.;
JavaScript JSON
JSON是存储和传输数据的格式。
JSON经常在数据从服务器发送到网页时使用。
JSONJavaScript Object Notation
JSON是轻量级的数据交换格式
JSON独立于语言*
JSON是自描述的且易于理解的
*JSON的语法是来自JavaScript对象符号的语法但JSON格式是存文本。读取和生成JSON数据的代码可以在任何编程语言编写的。
用JSON语法定义包含三条员工记录的数组对象的对象
{
employees:[{firstName:Bill, lastName:Gates}, {firstName:Steve, lastName:Jobs},{firstName:Alan, lastName:Turing}
]
}
JSON格式评估为JavaScript对象
JSON格式在语法上与创建JavaScript对象代码相同。所以JavaScript可以很容易将JSON数据转换成本地的JavaScript对象。
JSON语法规则
1数据是名称/值对
2数据由逗号分割
3花括号保存对象
4方括号保存数组
JSON名称需要双引号。JavaScript名称不需要
firstName:Bill
将JSON文本转换为JavaScript对象
JSON的同化成那个用法是从web服务器读取数据然后在网页中显示数据。
下面使用字符串作为输入
首先创建包含JSON语法的JavaScript字符串
var text { employees : [
{ firstName:Bill , lastName:Gates },
{ firstName:Steve , lastName:Jobs },
{ firstName:Alan , lastName:Turing } ]};
然后使用JavaScript的内建函数JSON.parse来把这个字符串转换为JavaScript对象
var obj JSON.parse(text);
!DOCTYPE html
html
bodyh1用 JSON 字符串创建对象/h1p iddemo/pscript
var text {employees:[
{firstName:Bill,lastName:Gates },
{firstName:Steve,lastName:Jobs },
{firstName:Elon,lastName:Musk }]};obj JSON.parse(text);
document.getElementById(demo).innerHTML
obj.employees[1].firstName obj.employees[1].lastName;
/script/body
/html
JavaScript调试
在没有调试器的情况下写JavaScript是有难度的。
我们通常通过F12键启动浏览器的调试器然后在调试器菜单中选择“控制台console”
console.log()方法
!DOCTYPE html
html
bodyh1My First Web Page/h1script
a 5;
b 6;
c a b;
console.log(c);
/script/body
/html
设置断点
在调试窗口中您可以在JavaScript代码中设置断点。
在每个断点中JavaScript将停止执行以使您能够检查JavaScript的值。
在检查值之后。您可以恢复代码执行。
debugger关键词
debugger关键词会停止JavaScript的执行并调用调试函数。
这与在调试器中设置断点的功能是一样的。
如果调试器不可用debugger语句没有效果。
如果调试器已打开此代码会在第三行之前停止运行。
!--* Author: RealRoad1083425287qq.com* Date: 2023-03-12 16:33:12* LastEditors: Mei* LastEditTime: 2023-03-12 16:39:28* FilePath: \vscode\测试断点.html* Description: * * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
--
!DOCTYPE html
html langen
headmeta charsetUTF-8meta http-equivX-UA-Compatible contentIEedgemeta nameviewport contentwidthdevice-width, initial-scale1.0titleDocument/title/head
bodyp idtest/pscriptvar x15*3debuggerdocument.getElementById(test).innerHTMLx;/script
/body
/html JavaScript最佳实践
避免使用全局变量。
它包括所有的数据类型、对象和函数。
全局变量和函数可被其他脚本覆盖。 JavaScript嵌套函数
所有函数都有权访问全局作用域。
事实上在JavaScript中所有函数都有权访问他们“上面”的作用域。
JavaScript支持嵌套函数。嵌套函数可以访问其上的作用域。
内部函数plus()可以访问复函数中的counter计数器变量
!--* Author: RealRoad1083425287qq.com* Date: 2023-03-12 16:33:12* LastEditors: Mei* LastEditTime: 2023-03-12 16:54:18* FilePath: \vscode\测试断点.html* Description: * * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
--
!DOCTYPE html
html langen
headmeta charsetUTF-8meta http-equivX-UA-Compatible contentIEedgemeta nameviewport contentwidthdevice-width, initial-scale1.0titleDocument/title/head
bodyp idtest/pscript// var x15*3// debugger// document.getElementById(test).innerHTMLx;function add() {var counter 0;function plus() {counter 1;}plus(); return counter; }document.getElementById(test).innerHTMLadd();/script
/body
/html
这样可以解决计数器困境如果我们能够从外面访问plus()函数。
我们还需要找到只执行一次counter0的方法。
我们需要闭包closure。
JavaScript闭包
!DOCTYPE html
html
bodyh1JavaScript 闭包/h1p使用局部变量计数。/pbutton typebutton onclickmyFunction()计数/buttonp iddemo0/pscript
var add (function () {var counter 0;return function () {counter 1; return counter;}
})();function myFunction(){document.getElementById(demo).innerHTML add();
}
/script/body
/html
变量add的赋值是自调用函数的返回值。这个自调用函数只运行一次。它设置计数器为零并返回函数表达式。
这样add称为了函数。最精彩的部分是他能够访问父作用域中的计数器。这样被称为JavaScript闭包。它使函数拥有“私有变量”变成可能。计数器被这个匿名函数的作用域保护并且只能使用add函数来修改。闭包指的是有权访问父作用域的函数即使在父函数关闭之后。
转回来
始终声明局部变量
所有在函数中使用的变量应该被声明为局部变量。
局部变量必须通过var关键字来声明否则他们将变成全局变量。
严格模式下不允许使用未声明的变量