一、变量声明
如果在 var 语句中没有初始化变量,变量自动取 JScript 值 undefined。尽管并不安全,但声明语句中忽略 var 关键字是合法的 JScript 语法。这时,JScript 解释器给予变量全局范围的可见度。当在过程级中声明一个变量时,它不能用于全局范围;这种情况下,变量声明必须用 var 关键字。
当要声明一个变量并进行初始化,但又不想指定任何特殊值,可以赋值为 JScript 值 null。
在 JScript 中 null 和 undefined 的主要区别是 null 的操作象数字 0,而 undefined 的操作象特殊值NaN (不是一个数字)。对 null 值和 undefined 值作比较总是相等的。
二、判断对象 undefined
// 这种方法不起作用
if (x == undefined)
// 作某些操作
// 这个方法同样不起作用- 必须检查
// 字符串 "undefined"
if (typeof(x) == undefined)
// 作某些操作
// 这个方法有效
if (typeof(x) == "undefined")
or
if (typeof(x) === "undefined")
三、特殊的内部函数eval
var anExpression = "6 * 9 % 7";
var total = eval(anExpression); // 将变量 total 赋值为 5。
var yetAnotherExpression = "6 * (9 % 7)";
total = eval(yetAnotherExpression) // 将变量 total 赋值为 12。
四、Jscript 支持四种类型的对象
内部对象、生成的对象、宿主给出的对象(如 Internet 浏览器中的 window 和 document)以及 ActiveX 对象(外部组件)。
五、构造函数
// pasta 是有四个参数的构造器。 // 第一部分与上面相同。 function pasta(grain, width, shape, hasEgg) { // 用什么粮食做的? this.grain = grain; // 多宽?(数值) this.width = width; // 横截面形状?(字符串) this.shape = shape; // 是否加蛋黄?(boolean) this.hasEgg = hasEgg; // 这里添加 toString 方法(如下定义)。 // 注意在函数的名称后没有加圆括号; // 这不是一个函数调用,而是 // 对函数自身的引用。 this.toString = pastaToString; } // 实际的用来显示 past 对象内容的函数。 function pastaToString() { // 返回对象的属性。 return "Grain: " + this.grain + "\n" + "Width: " + this.width + "\n" + "Shape: " + this.shape + "\n" + "Egg?: " + Boolean(this.hasEgg); }
六、Jscript 保留字
保留词
break | delete | function | return | typeof |
case | do | if | switch | var |
catch | else | in | this | void |
continue | false | instanceof | throw | while |
debugger | finally | new | true | with |
default | for | null | try |
为将来保留的词
abstract | double | goto | native | static |
boolean | enum | implements | package | super |
byte | export | import | private | synchronized |
char | extends | int | protected | throws |
class | final | interface | public | transient |
const | float | long | short | volatile |
当选择标识符时避免使用已经在内部 Jscript 对象或函数中使用的词,如 String 或 parseInt。
七、使用构造函数来创建对象
var myObject = new Object(); // 创建没有属性的通用对象。 var myBirthday = new Date(1961, 5, 10); // 创建一个 Date 对象。 var myCar = new Car(); // 创建一个用户定义的对象,并初始化其属性。
八、js模拟jQuery trim函数
// String 构造函数的原型对象的一个方法。 String.prototype.trim = function() { // 用正则表达式将前后空格 // 用空字符串替代。 return this.replace(/(^\s*)|(\s*$)/g, ""); }
九、== 与 === 区别
JScript 是一种具有自动强制的自由类型语言。因此,尽管实际上不同类型的值是不相等的,但对下述示例中的表达式求值都将得到 true。
"100" == 100;
false == 0;
要核对类型与值都一致,用“严格相等”运算符(===)。下面两个表达式的值为 false:
"100" === 100;
false === 0;
相关推荐
这款工具的出现,使得JavaScript的调试工作变得更加高效和精确,对于解决网页中的JavaScript问题,以及对加密的JavaScript代码进行解密,都具有不可忽视的价值。 首先,我们要理解JavaScript(简称js)在网页开发中...
16. **性能优化**:包括内存管理、DOM操作优化、事件处理优化等,是JavaScript开发中不可忽视的部分。 以上只是《你不知道的JavaScript》中部分重要知识点的概述,深入学习这本书需要理解并掌握这些概念,以及它们...
最后,性能优化也是Three.js开发中不可忽视的部分。通过使用LOD(Level of Detail)技术,根据物体距离相机的远近动态调整模型细节,可以提高场景的渲染效率。另外,物体的批处理渲染和GPU实例化也是提升性能的有效...
最后,性能优化是大型3D项目中不可忽视的部分。通过LOD(Level of Detail)技术,可以随着物体远离摄像机时降低其细节度,以减少计算量。另外,批处理渲染(Batch Rendering)和GPU粒子系统也是提高性能的有效手段。...
通过阅读这本书,你可以了解到JavaScript中一些容易被忽视的特性,比如作用域、类型转换和错误处理,从而避免常见的编程陷阱,提高代码质量。 在学习过程中,建议先从《JavaScript.DOM编程艺术》入手,建立起对...
7. 安全性实践:在Web开发中,安全性也是不可忽视的一个方面。文档可能会讲解一些常见的JavaScript安全问题,如XSS攻击、CSRF攻击,以及如何编写安全的代码。 8. 实践案例分析:文档还可能包含一系列的案例研究或...
《你不知道的JS》全集是一套深入探讨JavaScript编程的权威书籍,由Kyle Simpson撰写,旨在揭示JavaScript语言中那些容易被忽视或者不被广泛理解的细节。这套书一共分为六个部分,分别是《Up & Going》、《Scope & ...
**CSS**(Cascading Style Sheets)在Magnifier插件中的作用不可忽视。`demo.css`, `magnifier.css`, 和 `gallery.css` 文件都是为了定义页面样式和放大镜的外观。例如,`magnifier.css` 可能包含放大镜的形状、透明...
此外,性能优化是高清开发中不可忽视的一环。这包括减少渲染对象的数量、使用LOD(Level of Detail)技术动态调整细节级别、避免不必要的计算和内存分配等。 通过阅读《THREE.JS开发指南.pdf》,你将能够学习到如何...
9. **性能优化**:由于JavaScript在浏览器中运行,性能问题不可忽视。理解如何优化渲染效率,比如批处理几何数据、减少冗余计算和利用缓冲区,可以帮助创建更流畅的3D体验。 通过学习以上知识,并结合"3d_js"文件中...
最后,代码质量和性能的监控也是不可忽视的。静态代码分析工具(如ESLint)可以检测潜在的错误和不一致,而性能分析工具(如Chrome DevTools的Performance面板)则可以帮助识别并优化性能瓶颈。 在压缩包文件的...
JavaScript是Web开发中不可或缺的一部分,其基础内容是学习任何JavaScript框架和库的基石。这篇文章将深入探讨JavaScript的一些关键细节,这些细节在编程过程中容易被忽视,但对理解代码行为至关重要。 1. 特殊数值...
最后,优化和性能是不可忽视的话题。Three.js提供了如LOD(Level of Detail)技术,用于根据对象与相机的距离动态调整模型细节,以提高渲染效率。另外,通过精灵(Sprite)和粒子系统(ParticleSystem),可以高效地...
”《You Don't Know JS》系列通过一系列精心编写的书籍,帮助读者不仅了解JavaScript的基础语法,更深入了解那些经常被忽视或误解的语言特性。 #### 三、系列作者介绍 该系列书籍由Kyle Simpson撰写,他是一位来自...
在IT领域,编辑器是开发过程中不可或缺的工具,它们提供了代码编写、格式化、调试等功能。本项目聚焦于使用JavaScript(JS)实现一个独特的编辑器功能,特别是在同一个界面上实现两个独立的编辑器实例,这样的设计...
JavaScript是Web开发中不可或缺的部分,用于实现网页的动态交互效果,前端数据处理以及与服务器的通信。开发者需要精通DOM操作、AJAX异步请求、事件处理、以及各种框架如React、Vue或Angular的应用。 【描述】"我在...
标题为"一些你可能不熟悉的JS知识点总结",说明本文将介绍JavaScript(JS)中一些不常见或容易被忽略的知识点。这对于学习JS的朋友们来说,是一个很好的参考资料。 描述中提到,"主要为大家介绍一下JS中一些你可能...
书中也强调了代码的可维护性和可读性,在进行性能优化时,这两个因素同样不应被忽视。即使代码在性能上非常优越,如果难于阅读和维护,最终也会成为项目的负担。因此,Zakas在书中反复强调代码清晰和维护的重要性。 ...
总之,Prototype.js 1.4 版本为开发者提供了强大且灵活的工具集,无论是在 Web 开发的实际应用中,还是在学习 JavaScript 技术的过程中,都具有不可忽视的价值。通过深入研究其文档和源代码,开发者可以获得宝贵的...
最后,性能优化是任何3D项目都不可忽视的部分。Three.js提供了一些工具和策略,如LOD(Level of Detail)层次细节、Frustum Culling视锥裁剪和批处理渲染,来减少渲染开销,提高大型3D场景的运行效率。 “threejs-...