JavaScript学习笔记(6.0)
创始人
2024-06-02 04:48:12
0

JavaScript类

使用关键字class创建类。

始终添加constructor()方法

class ClassName{constructor(){...}
}
calss Car{constructor(name,year){this.name=name;this.year=year;
}
}

创建了一个名为Car的类,并且拥有两个初始属性name和year。

JavaScript类不是对象,只是JavaScript对象的模板。



JavaScript 类

如何使用 JavaScript 类。

使用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经常在数据从服务器发送到网页时使用。

JSON(JavaScript 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);


用 JSON 字符串创建对象

JavaScript调试

在没有调试器的情况下写JavaScript是有难度的。

我们通常通过F12键启动浏览器的调试器,然后在调试器菜单中选择“控制台(console)”

console.log()方法



My First Web Page

设置断点

在调试窗口中,您可以在JavaScript代码中设置断点。

在每个断点中,JavaScript将停止执行,以使您能够检查JavaScript的值。

在检查值之后。您可以恢复代码执行。

debugger关键词

debugger关键词会停止JavaScript的执行,并调用调试函数。

这与在调试器中设置断点的功能是一样的。

如果调试器不可用,debugger语句没有效果。

如果调试器已打开,此代码会在第三行之前停止运行。




Document

 JavaScript最佳实践

避免使用全局变量。

它包括所有的数据类型、对象和函数。

全局变量和函数可被其他脚本覆盖。

JavaScript嵌套函数

所有函数都有权访问全局作用域。

事实上,在JavaScript中,所有函数都有权访问他们“上面”的作用域。

JavaScript支持嵌套函数。嵌套函数可以访问其上的作用域。

内部函数plus()可以访问复函数中的counter计数器变量:




Document

这样可以解决计数器困境,如果我们能够从外面访问plus()函数。

我们还需要找到只执行一次counter=0的方法。

我们需要闭包(closure)。

JavaScript闭包



JavaScript 闭包

使用局部变量计数。

0

变量add的赋值是自调用函数的返回值。这个自调用函数只运行一次。它设置计数器为零,并返回函数表达式。

这样add称为了函数。最精彩的部分是他能够访问父作用域中的计数器。这样被称为JavaScript闭包。它使函数拥有“私有变量”变成可能。计数器被这个匿名函数的作用域保护,并且只能使用add函数来修改。闭包指的是有权访问父作用域的函数,即使在父函数关闭之后。

转回来

始终声明局部变量

所有在函数中使用的变量应该被声明为局部变量。

局部变量必须通过var关键字来声明,否则他们将变成全局变量。

严格模式下不允许使用未声明的变量

相关内容

热门资讯

122.(leaflet篇)l... 听老人家说:多看美女会长寿 地图之家总目录(订阅之前建议先查看该博客) 文章末尾处提供保证可运行...
育碧GDC2018程序化大世界... 1.传统手动绘制森林的问题 采用手动绘制的方法的话,每次迭代地形都要手动再绘制森林。这...
育碧GDC2018程序化大世界... 1.传统手动绘制森林的问题 采用手动绘制的方法的话,每次迭代地形都要手动再绘制森林。这...
Vue使用pdf-lib为文件... 之前也写过两篇预览pdf的,但是没有加水印,这是链接:Vu...
PyQt5数据库开发1 4.1... 文章目录 前言 步骤/方法 1 使用windows身份登录 2 启用混合登录模式 3 允许远程连接服...
Android studio ... 解决 Android studio 出现“The emulator process for AVD ...
Linux基础命令大全(上) ♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维...
再谈解决“因为文件包含病毒或潜... 前面出了一篇博文专门来解决“因为文件包含病毒或潜在的垃圾软件”的问题,其中第二种方法有...
南京邮电大学通达学院2023c... 题目展示 一.问题描述 实验题目1 定义一个学生类,其中包括如下内容: (1)私有数据成员 ①年龄 ...
PageObject 六大原则 PageObject六大原则: 1.封装服务的方法 2.不要暴露页面的细节 3.通过r...
【Linux网络编程】01:S... Socket多进程 OVERVIEWSocket多进程1.Server2.Client3.bug&...
数据结构刷题(二十五):122... 1.122. 买卖股票的最佳时机 II思路:贪心。把利润分解为每天为单位的维度,然后收...
浏览器事件循环 事件循环 浏览器的进程模型 何为进程? 程序运行需要有它自己专属的内存空间࿰...
8个免费图片/照片压缩工具帮您... 继续查看一些最好的图像压缩工具,以提升用户体验和存储空间以及网站使用支持。 无数图像压...
计算机二级Python备考(2... 目录  一、选择题 1.在Python语言中: 2.知识点 二、基本操作题 1. j...
端电压 相电压 线电压 记得刚接触矢量控制的时候,拿到板子,就赶紧去测各种波形,结...
如何使用Python检测和识别... 车牌检测与识别技术用途广泛,可以用于道路系统、无票停车场、车辆门禁等。这项技术结合了计...
带环链表详解 目录 一、什么是环形链表 二、判断是否为环形链表 2.1 具体题目 2.2 具体思路 2.3 思路的...
【C语言进阶:刨根究底字符串函... 本节重点内容: 深入理解strcpy函数的使用学会strcpy函数的模拟实现⚡strc...
Django web开发(一)... 文章目录前端开发1.快速开发网站2.标签2.1 编码2.2 title2.3 标题2.4 div和s...