JavaScript基础

JavaScript这个术语通常涵盖了以下3个部分:
1.ECMAScript:语言 的核心部分(即变量,函数,循环等等):这个部分独立于浏览器之外,并可以在其他环境中使用。
2.文档对象模型(DOM):它实际上是提供了一种与HTML、XML文档交互的方式。最初,JavaScript只能提供对页面,上一部分元素的有限访问能力,主要集中在表单,超链接和图片这些元素上。后来权限逐渐被扩大,如今几乎所有元素都已经可以访问了。为此,万维网联盟(W3C)还专门创建了DOM标准。该标准是一种独立的( 即它并不依赖于JavaScript)操作结构化文档的方式。
3.浏览器对象模型(BOM): 这实际上是-一个与浏览器环境有关的对象集合。原本没有任何标准可言,直到HTML5诞生之后,人们才定义了一些浏览器之间通用的对象标准

JavaScript 必须运行于某种宿主环境中。

对象往往是用名词来表示的(如 book、person)
方法一般都是些动词(如 read、run)
属性值则往往是一些形容词。

类是一种模板,而对象则是在这些模板的基础上被创建出来的实体。

JavaScript的一切都是基于对象的,其依靠的是一套原型(prototype)统,而原型本身实际上也是一种对象。

除了封装继承和多态,JavaScript还有一个聚合的特点。
所谓聚合,有时候也叫做组合,实际上是指我们将几个现有对象合并成一个新对象的过程。总之,这个概念所强调的就是这种将多个对象合而为一的能力。通过聚合这种强有力的方法,我们可以将一个问题分解成多个更小的问题。这样一来,问题就会显得更易于管理(便于我们各个击破)。当一个问题域的复杂程度令我们难以接受时,我们就可以考虑将它分解成若干子问题区,并且必要的话,这些问题区还可以再继续分解成更小的分区。这样做有利于我们从几个不同的抽象层次来考虑这个问题

使用 var 语句来声明变量,变量名可以由字母、数字、下划线及美元符号组合而成,但不能以数字开头。

在 JavaScript 语言中,变量名是区分大小写的。

JavaScript 中的数据
类型主要分为以下两个部分:
1. 基本类型
2. 非基本类型(即对象)
基本类型分为:数字、字符串、布尔值、undefined(当我们试图访问一个不存在的变量时,就会得到一个特殊值:undefined。除此之外,使用已声明却未赋值的变量也会如此。因为 JavaScript 会自动将变量在初始化之前的值设定为 undefined。)、null。

如果我们想知道某个变量或值的类型是什么,可以调用特殊操作符 typeof。

在 JavaScript 中,还有一种叫做 Infinity 的特殊值。它所代表的是超出了 JavaScript 处理范围的数值。
JavaScript所能处理的最大值是1.7976931348623157e+308,而最小值为5e-324。
将正负 Infinity相加,我们也不会得到 0,而是会得到一个叫做 NaN(Not A Number 的缩写,即不是数字)的东西。NaN也是一种特殊的数字类型。

如果引号之间没有任何东西,它所表示的依然是一个字符串(即空字符串)

当我们将一个数字字符串用于算术运算中的操作数时,该字符串会在运算中被当做数字类型来使用。(由于加法操作符的歧义性,这条规则不适用于加法运算。)

将数字字符串转换为数字就有了一种偷懒的方法:只需将该字符串与 1 相乘
即可将其他类型转换为字符串也有一种偷懒的方法,只需要将其与空字符相加即可

惰性求值:如果在一个连续的逻辑操作中,操作结果在最后一个操作完成之前就已经明确了的话,那么该操作往往就不必再继续执行了,因为这已经不会对最终结果产生任何影响。

如果 JavaScript 引擎在一个逻辑表达式中遇到一个非布尔类型的操作数,那么该操作数的值就会成为该表达式所返回的结果

=== :严格相等运算符:当且仅当两个操作数的值和类型都相同时返回
true。这种比较往往更可靠,因为其幕后不存在任何形式的类型转换

!== :严格不相等运算符:
此操作内不允许类型转换。且当两个操作数的值或类型不相等时返回 true

数组可以存放不同类型的元素,如果新元素被添加的位置与原数组末端之间存在一定的间隔,那么这之间的元素将会被自动设定为 undefined 值

为了删除特定的元素,我们需要用到 delete 操作符。然而,相关元素被删除后,原数组的长度并不会受到影响。从某种意义上来说,该元素被删除的位置只是被留空了而已。
数组中也可以存放数组,类似于多维数组。
循环中 JavaScript多了一个for-in循环
for-in 循环往往被用来遍历某个数组(或对象,这一点我们以后再讨论)中的元素。这似乎也是它唯一的用处,该循环不能用来替代 for 或 while 循环,执行某些一般性的重复操作。下面,我们来看一个 for-in 遍历数组元素的示例。当然,例子仅供参考。毕竟对于 for-in 循环来说,它最适用的场合依然是对象,以及用于常规 for 循环的数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值