js教程(7) -- JS 常见错误、JS加速、保留词、ES5(6)特性

2019.09.24:

学习内容:JS 常见错误、JS加速、ES5(6)特性

补充:js保留词:https://www.w3school.com.cn/js/js_reserved.asp

js版本及浏览器支持:https://www.w3school.com.cn/js/js_versions.asp


一、JS 常见错误:

1、=、==、=== 的含义

2、数字和字符串相加得到让人困惑的结果

3、JavaScript 中的数字均保存为 64 位的浮点数(Floats)。所有编程语言,包括 JavaScript,都存在处理浮点值的困难:

var x = 0.1;
var y = 0.2;
var z = x + y             // z 中的结果并不是 0.3,是0.30000000000004

4、字符串中间来换行是不对的

5、

6、return 不能换行

7、JS数组不像python的字典,而更像列表,只能用数字索引,不能用命名索引,一旦命名索引,就会重新定义对象:对象更像字典

8、对象和数组定义中的尾随逗号在 ECMAScript 5 中是合法的。但是,Internet Explorer 8 会崩溃:JSON 不允许尾随逗号。

9、老生常谈:Undefined 不是 Null

因此,在测试非 null 之前,必须先测试未定义:

正确的:

if (typeof myObj !== "undefined" && myObj !== null)

10、

PS:这段代码返回是 i = 10 !!!

二、如何加速JS代码?

  1、减少循环里的操作。

   2、减少 DOM 访问。访问 HTML DOM 非常缓慢。假如您期望访问某个 DOM 元素若干次,那么只访问一次,并把它作为本地变量来使用:

   3、缩减 DOM 规模。请尽量保持 HTML DOM 中较少的元素数量。这么做总是会提高页面加载,并加快渲染(页面显示),尤其是在较小的设备上。每一次试图搜索 DOM(比如 getElementsByTagName)都将受益于一个较小的 DOM。

   4、避免不必要的变量。

   5、延迟 JavaScript 加载。请把脚本放在页面底部,使浏览器首先加载页面。脚本在下载时,浏览器不会启动任何其他的下载。此外所有解析和渲染活动都可能会被阻塞。HTTP 规范定义浏览器不应该并行下载超过两种要素。一个选项是在 script 标签中使用 defer="true"。defer 属性规定了脚本应该在页面完成解析后执行,但它只适用于外部脚本。

   6、避免使用 with。请避免使用 with 关键词。它对速度有负面影响。它也将混淆 JavaScript 作用域。严格模式中不允许 with 关键词

三、ES5的特性:

  https://www.w3school.com.cn/js/js_es5.asp

四、ES6的特性:

  https://www.w3school.com.cn/js/js_es6.asp

  1、let、 const关键词

  2、全局数字方法:isFinite()、isNaN()

  3、箭头函数(函数式编程)

原文地址:https://www.cnblogs.com/marvintang1001/p/11581499.html

时间: 2024-10-13 02:30:38

js教程(7) -- JS 常见错误、JS加速、保留词、ES5(6)特性的相关文章

node.js的npm命令常见错误及解决方案

使用npm命令进行模块安装的时候场出现各种错误,本文总结我所遇到的各种错误,并提供解决方案.(大部分内容为网上收集) 首先使用淘宝 NPM 镜像 大家都知道国内直接使用 npm 的官方镜像是非常慢的,这里推荐使用淘宝 NPM 镜像. 淘宝 NPM 镜像是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步. 你可以使用淘宝定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm: $ npm install -g

【repost】js 常见错误类型

1)SyntaxError SyntaxError是解析代码时发生的语法错误 // 变量名错误  var 1a;  // 缺少括号  console.log 'hello'); (2)ReferenceError ReferenceError是引用一个不存在的变量时发生的错误. unknownVariable  // ReferenceError: unknownVariable is not defined 另一种触发场景是,将一个值分配给无法分配的对象,比如对函数的运行结果或者this赋值.

Node.js 教程 01 - 简介、安装及配置

目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台. Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好. 谁适合阅读本教程?

[转载]Node入门 » 一本全面的Node.js教程

http://www.nodebeginner.org/index-zh-cn.html 作者: Manuel Kiessling 翻译: goddyzhao & GrayZhang & MondayChen 关于 本书致力于教会你如何用Node.js来开发应用,过程中会传授你所有所需的“高级”JavaScript知识.本书绝不是一本“Hello World”的教程. 状态 你正在阅读的已经是本书的最终版.因此,只有当进行错误更正以及针对新版本Node.js的改动进行对应的修正时,才会进行

MVVM开源框架Knot.js 教程2 - 大幅改变前端框架开发体验的Debugger

Knotjs教程系列 1.CBS初步 2.Knot.js Debugger(本文) ....持续增加中 Knot.js 教程2 - 改变前端框架开发体验的Debugger Debugger只是一个方便开发的附属工具,按道理说是不值得单独为之写一篇文章的.不过Knot.js的Debugger绝对值得一篇文章. 有过框架开发体验的朋友一定多少都有过和框架搏斗的经验.一个小小的设置错误,由于你对框架的不够熟悉,导致出错后完全摸不到头脑.或者被迫在一堆陌生的代码中跟踪尝试找出问题,或者只有上网到处拉人提

js教程--从入门到精通 第一篇 js的前世今生以及js中基本数据类型和引入方式

1.Javascript前世今生   1.1.什么是Javascript       Javascript运行于Javascript [解释器/引擎]中的解释性脚本语言      Javascript运行环境:      1.Javascript解释器 :NodeJS      2.嵌入在浏览器中的内核(引擎) 1.2.Javascript 发展      1.1992年 Nombas公司 开发了一款脚本语言 ScriptEase ,可以嵌入在网页中  大概在 1992 年,一家称作 Nomba

10+ 最佳的 Node.js 教程和实例

如果你正在找Node.js的学习资料及指南,那么请继续(阅读),我们的教程将会覆盖即时聊天应用.API服务编写.投票问卷应用.人物投票APP.社交授权. Node.js on Raspberry Pi等等. 以下是Node.js入门的简单介绍,如果你对Node.js略有了解可以直接跳过此部分. 那什么是Node.js呢? Node.js是迄今运用最多的服务端JavaScript运行时环境,使用JavaScript开发跨平台的实时WEB应用. Node.js基于Google的V8 JavaScri

nodejs出现events.js:72中抛出错误

作为初学者,我在使用nodejs的过程中遇到了如下的运行错误: events.js:72 throw er; // Unhandled 'error' event ^ Error: listen EADDRINUSE at errnoException (net.js:901:11) at Server._listen2 (net.js:1039:14) at listen (net.js:1061:10) at Server.listen (net.js:1127:5) at Object.<

Three.js 教程和示例(Tutorials and Examples)

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 摘录以下部分进行翻译: Tutorials and Examples Now that you are sold on Three.js, whe