JavaScript权威设计--JavaScript类型,值,变量(简要学习笔记三)

简介:
1.负号是一元求反运算
如果直接给数字直接量前面添加负号可以得到他们的负值
 
 
2.JavaScript中的运算超出了最大能表示的值不会报错,会显示 Infinity。
超出最小也不报错,会显示 -Infinity。
运算出的结果如果是个非数字的值得时候,用 NaN表示。
 
3.字符串直接量拆分成数行
ECMAScript3中,字符串直接量必须下载一行中,而在ECMScript中,字符串直接量可以拆分成数行,每行必须以反斜线(\)介绍。
如:“two\lines”
      "one\     //三行写完一个字符串
       two\
       three"
 
4.JavaScript中夹杂html代码的时候建议使用各自独立的引号风格 。
 
5.不只有数组可以通过索引去访问,字符串也可以
如:
var a="hello";
a[0]    //"h"    (返回 string)
a.length   //5    (返回 number)
 
6.RegExp的直接量表示法:/^html/   //匹配以html开始的字符串
 
7.null与undefined
null是js的关键字。描述“空值”
undefined表示更深层的“空值”,表示变量没有初始化
 
8.var global=this;//定义一个引用全局对象的全局变量值
客户端JavaScript中,在其表示的浏览器窗口中的所有JavaScript中, window对象充当了全局对象。这个全局window对象有一个属性引用其自身,它可以代替this来引用全局对象。
 
9.对象的问题
var s="test";
s.b=4;
var a=s.b;    //a的值会是什么?
答案是:a的值是undefined
 
好,我们来说一下这个过程:
var s="test";    //创建一个字符串
s.b=4;    //给s设置一个属性为4(这时候会创建一个临时字符串对象,并给b属性赋值为4,赋值完成后立即销毁这个对象s)
var a=s.b;    //这时s这个对象已经不存在
 
你会问,为什么?
 
s是字符串既然不是对象,为什么他能点(.)的出来属性呢?因为js中只要引用了字符串s的属性,js就会将字符串值通过 调用new String(s)的方式创建一个对象(或说转换成对象)。要清楚这个创建的一个对象是 临时的,而且也不是s这个原本的字符串。但是我们看上去的时候却是好像是s点(.)出来的。s.b这种修改属性只是发生在临时对象身上,而这个 临时的对象并未继续保留下来(也就是修改之后立即销毁)。
var s="test"; 
var S=new String(s);       //这是显式的创建s的对象
console.log(s==S)    //true  等于运算符任务两者相等 
console.log(s===S)    //false    全等运算符认为不等 不等的是类型


转载:http://www.cnblogs.com/zqzjs/p/4793128.html

目录
相关文章
|
JavaScript 前端开发 开发者
如何在 JavaScript 中处理不同类型的错误?
【10月更文挑战第29天】通过对不同类型错误的准确识别和恰当处理,可以提高JavaScript程序的可靠性和稳定性,减少错误对程序运行的影响。
|
JavaScript 前端开发 Java
除了 JavaScript,还有哪些编程语言支持 Set 类型
【10月更文挑战第30天】这些编程语言中的 `Set` 类型虽然在语法和具体实现细节上有所不同,但都提供了类似的集合操作功能,方便开发者在不同的编程场景中处理集合相关的数据和逻辑。
371 113
|
8月前
|
JavaScript 前端开发 开发者
JavaScript基础——JavaScript变量名称命名规范
JavaScript变量命名规范是编写高质量代码的重要部分。通过遵循基本规则、使用常见命名约定并应用最佳实践,可以提高代码的可读性和可维护性。希望本文能帮助开发者在日常编程中更好地理解和应用JavaScript变量命名规范,从而编写出更清晰、更可靠的代码。
533 11
|
10月前
|
JavaScript 前端开发 容器
盘点JavaScript中所有声明变量的方式及特性
本文详细介绍了JavaScript中变量定义的多种方式,包括传统的`var`、`let`和`const`,以及通过`this`、`window`、`top`等对象定义变量的方法。每种方式都有其独特的语法和特性,并附有代码示例说明。推荐使用`let`和`const`以避免作用域和提升问题,谨慎使用`window`和`top`定义全局变量,不建议使用隐式全局变量。掌握这些定义方式有助于编写更健壮的JS代码。
253 11
|
前端开发 JavaScript
如何在 JavaScript 中访问和修改 CSS 变量?
【10月更文挑战第28天】通过以上方法,可以在JavaScript中灵活地访问和修改CSS变量,从而实现根据用户交互、页面状态等动态地改变页面样式,为网页添加更多的交互性和动态效果。在实际应用中,可以根据具体的需求和场景选择合适的方法来操作CSS变量。
449 12
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
303 2
|
JSON 前端开发 JavaScript
聊聊 Go 语言中的 JSON 序列化与 js 前端交互类型失真问题
在Web开发中,后端与前端的数据交换常使用JSON格式,但JavaScript的数字类型仅能安全处理-2^53到2^53间的整数,超出此范围会导致精度丢失。本文通过Go语言的`encoding/json`包,介绍如何通过将大整数以字符串形式序列化和反序列化,有效解决这一问题,确保前后端数据交换的准确性。
333 4
|
前端开发 JavaScript 数据处理
CSS 变量的作用域和 JavaScript 变量的作用域有什么不同?
【10月更文挑战第28天】CSS变量和JavaScript变量虽然都有各自的作用域概念,但由于它们所属的语言和应用场景不同,其作用域的定义、范围、覆盖规则以及与其他语言特性的交互方式等方面都存在明显的差异。理解这些差异有助于更好地在Web开发中分别运用它们来实现预期的页面效果和功能逻辑。
204 11
|
前端开发 JavaScript UED
如何使用 JavaScript 动态修改 CSS 变量的值?
【10月更文挑战第28天】使用JavaScript动态修改CSS变量的值可以为页面带来更丰富的交互效果和动态样式变化,根据不同的应用场景和需求,可以选择合适的方法来实现CSS变量的动态修改,从而提高页面的灵活性和用户体验。
|
存储 JavaScript 前端开发
js的基础类型和引用类型
【10月更文挑战第29天】理解 JavaScript 中的基础类型和引用类型的区别对于正确地编写代码和理解程序的行为非常重要。在实际开发中,需要根据具体的需求合理地选择和使用不同的数据类型,以避免出现一些意想不到的错误和问题。同时,在处理引用类型数据时,要特别注意对象的引用关系,避免因共享引用而导致的数据不一致等问题。

热门文章

最新文章