`

js 一些你不可忽视的细节

    博客分类:
  • js
阅读更多

一、变量声明

如果在 var 语句中没有初始化变量,变量自动取 JScript 值 undefined。尽管并不安全,但声明语句中忽略 var 关键字是合法的 JScript 语法。这时,JScript 解释器给予变量全局范围的可见度。当在过程级中声明一个变量时,它不能用于全局范围;这种情况下,变量声明必须用 var 关键字。

 

当要声明一个变量并进行初始化,但又不想指定任何特殊值,可以赋值为 JScript 值 null

 

在 JScript 中 nullundefined 的主要区别是 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 对象或函数中使用的词,如 StringparseInt

 

七、使用构造函数来创建对象

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;

 

 

 

 

 

分享到:
评论

相关推荐

    鬼鬼JS调试工具7.5.rar

    这款工具的出现,使得JavaScript的调试工作变得更加高效和精确,对于解决网页中的JavaScript问题,以及对加密的JavaScript代码进行解密,都具有不可忽视的价值。 首先,我们要理解JavaScript(简称js)在网页开发中...

    《你不知道的JavaScript》脑图笔记

    16. **性能优化**:包括内存管理、DOM操作优化、事件处理优化等,是JavaScript开发中不可忽视的部分。 以上只是《你不知道的JavaScript》中部分重要知识点的概述,深入学习这本书需要理解并掌握这些概念,以及它们...

    Threejs生成地图板块和城市建筑白模

    最后,性能优化也是Three.js开发中不可忽视的部分。通过使用LOD(Level of Detail)技术,根据物体距离相机的远近动态调整模型细节,可以提高场景的渲染效率。另外,物体的批处理渲染和GPU实例化也是提升性能的有效...

    threejs夹杂3d模型

    最后,性能优化是大型3D项目中不可忽视的部分。通过LOD(Level of Detail)技术,可以随着物体远离摄像机时降低其细节度,以减少计算量。另外,批处理渲染(Batch Rendering)和GPU粒子系统也是提高性能的有效手段。...

    Javascript相关书籍从入门到精通

    通过阅读这本书,你可以了解到JavaScript中一些容易被忽视的特性,比如作用域、类型转换和错误处理,从而避免常见的编程陷阱,提高代码质量。 在学习过程中,建议先从《JavaScript.DOM编程艺术》入手,建立起对...

    Javascript高级应用与实践.pdf

    7. 安全性实践:在Web开发中,安全性也是不可忽视的一个方面。文档可能会讲解一些常见的JavaScript安全问题,如XSS攻击、CSRF攻击,以及如何编写安全的代码。 8. 实践案例分析:文档还可能包含一系列的案例研究或...

    You Don't Know JS全集

    《你不知道的JS》全集是一套深入探讨JavaScript编程的权威书籍,由Kyle Simpson撰写,旨在揭示JavaScript语言中那些容易被忽视或者不被广泛理解的细节。这套书一共分为六个部分,分别是《Up & Going》、《Scope & ...

    JavaScript放大镜插件magnifier实现图像放大效果

    **CSS**(Cascading Style Sheets)在Magnifier插件中的作用不可忽视。`demo.css`, `magnifier.css`, 和 `gallery.css` 文件都是为了定义页面样式和放大镜的外观。例如,`magnifier.css` 可能包含放大镜的形状、透明...

    THREE.JS 高清开发指南

    此外,性能优化是高清开发中不可忽视的一环。这包括减少渲染对象的数量、使用LOD(Level of Detail)技术动态调整细节级别、避免不必要的计算和内存分配等。 通过阅读《THREE.JS开发指南.pdf》,你将能够学习到如何...

    js实现的3d效果(很炫+转载)

    9. **性能优化**:由于JavaScript在浏览器中运行,性能问题不可忽视。理解如何优化渲染效率,比如批处理几何数据、减少冗余计算和利用缓冲区,可以帮助创建更流畅的3D体验。 通过学习以上知识,并结合"3d_js"文件中...

    javascript工程

    最后,代码质量和性能的监控也是不可忽视的。静态代码分析工具(如ESLint)可以检测潜在的错误和不一致,而性能分析工具(如Chrome DevTools的Performance面板)则可以帮助识别并优化性能瓶颈。 在压缩包文件的...

    javascipt基础内容--需要注意的细节

    JavaScript是Web开发中不可或缺的一部分,其基础内容是学习任何JavaScript框架和库的基石。这篇文章将深入探讨JavaScript的一些关键细节,这些细节在编程过程中容易被忽视,但对理解代码行为至关重要。 1. 特殊数值...

    three.js-master.zip

    最后,优化和性能是不可忽视的话题。Three.js提供了如LOD(Level of Detail)技术,用于根据对象与相机的距离动态调整模型细节,以提高渲染效率。另外,通过精灵(Sprite)和粒子系统(ParticleSystem),可以高效地...

    you don't know js

    ”《You Don't Know JS》系列通过一系列精心编写的书籍,帮助读者不仅了解JavaScript的基础语法,更深入了解那些经常被忽视或误解的语言特性。 #### 三、系列作者介绍 该系列书籍由Kyle Simpson撰写,他是一位来自...

    JS实现的编辑器JS实现的编辑器

    在IT领域,编辑器是开发过程中不可或缺的工具,它们提供了代码编写、格式化、调试等功能。本项目聚焦于使用JavaScript(JS)实现一个独特的编辑器功能,特别是在同一个界面上实现两个独立的编辑器实例,这样的设计...

    我在中关村做JS的日子

    JavaScript是Web开发中不可或缺的部分,用于实现网页的动态交互效果,前端数据处理以及与服务器的通信。开发者需要精通DOM操作、AJAX异步请求、事件处理、以及各种框架如React、Vue或Angular的应用。 【描述】"我在...

    一些你可能不熟悉的JS知识点总结

    标题为"一些你可能不熟悉的JS知识点总结",说明本文将介绍JavaScript(JS)中一些不常见或容易被忽略的知识点。这对于学习JS的朋友们来说,是一个很好的参考资料。 描述中提到,"主要为大家介绍一下JS中一些你可能...

    [高性能JavaScript编程].(High.Performance.JavaScript).Nicholas.C.Zakas.文字版

    书中也强调了代码的可维护性和可读性,在进行性能优化时,这两个因素同样不应被忽视。即使代码在性能上非常优越,如果难于阅读和维护,最终也会成为项目的负担。因此,Zakas在书中反复强调代码清晰和维护的重要性。 ...

    prototype.js1.4版开发者手册

    总之,Prototype.js 1.4 版本为开发者提供了强大且灵活的工具集,无论是在 Web 开发的实际应用中,还是在学习 JavaScript 技术的过程中,都具有不可忽视的价值。通过深入研究其文档和源代码,开发者可以获得宝贵的...

    threejs-journey

    最后,性能优化是任何3D项目都不可忽视的部分。Three.js提供了一些工具和策略,如LOD(Level of Detail)层次细节、Frustum Culling视锥裁剪和批处理渲染,来减少渲染开销,提高大型3D场景的运行效率。 “threejs-...

Global site tag (gtag.js) - Google Analytics