JavaScript基础(一)

在HTML中使用JavaScript

<script>元素

1.1向HTML页面中插入JavaScript的主要方法就是<script>元素。
HTML4.01为<script>定义了下列6个属性:
(1)async:可选。表示应该立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本。只对外部脚本文件有效。
(2)charset:可选。表示通过src属性指定的代码的字符集。由于大多数浏览器会忽略它的值,因此这个属性很少有人使用。
(3)defer:可选。表示脚本可以延迟到文档完全被解析和现实之后再执行。只对外部脚本文件有效。IE7及更早版本对嵌入脚本也支持这个属性。
(4)language:已废弃。原来用于表示编写代码使用的脚本语言。大多数浏览器会忽略这个属性,没必要再用。
(5)src:可选。表示包含要执行的代码的外部文件。
(6)Type:可选。可以看成是language的替代属性;表示编写代码使用的脚本语言的内容类型(也称为MIME类型)。默认值为text/javascript
1.2使用<script>元素的方式有两种:
直接在页面中嵌入JavaScript代码和包含外部JavaScript文件。
①在使用<script>元素嵌入时,只需为<script>指定type属性。
注意:在使用<script>元素嵌入时,不要在代码中任何地方出现”</script>”字符串。可以通过分隔符”\”来解决想在代码中出现”</script>”字符串的问题。
②在通过<script>元素来包含外部JavaScript文件,src属性是必须的。
注意:在XHTML文档中可以忽略</script>标签。但在HTML文档中不可以。
1.3标签的位置
现代web应用程序一般都把全部JavaScript引用放在元素中,放在页面的内容后面。这样能够保证在解析包含的JavaScript代码之前,页面的内容将完全呈现在浏览器中。

嵌入代码与外部文件

使用外部文件的优点:
(1)可维护性
(2)可缓存
(3)适应未来

文档模式

三种:混杂模式、标准模式和准标准模式
如果在文档开始出没有发现文档类型声明,则所有浏览器默认开启混杂模式。

<noscript>元素

用以在不支持JavaScript的浏览器中现实替代的内容。
<noscript>元素中的内容只有在下列情况下才会显示出来:
(1)浏览器不支持脚本
(2)浏览器支持脚本,但脚本被禁用

基本概念

语法

1.1区分大小写
1.2标识符
所谓标识符,就是指变量、函数、属性的名字,或者函数的参数。
标识符可以是按照下列格式规则组合起来的一或多个字符:
(1)第一个字符必须是字母、下划线(_)或一个美元符号($)
(2)其他字符可以是字母、下划线、美元符号或数字
采用驼峰大小写格式。且不能把关键字、保留字、true、false和null用作标识符。
1.3注释
①// 单行注释
②/ *
      *
      *
      */ 块级注释
1.4语句
语句结尾的分号不是必需的,但建议任何时候都不要忽略它。
代码块以左花括号({)开头,以右花括号(})结尾。

关键字和保留字

在这里插入图片描述
JavaScript对象、属性和方法:

在这里插入图片描述
Java保留关键字
在这里插入图片描述
JavaScript可以再HTML外部使用。它可在许多其他应用程序中作为编程语言使用。
在 HTML 中,您必须(为了可移植性,您也应该这么做)避免使用 HTML 和 Windows 对象和属性的名称作为 Javascript 的变量及函数名:
在这里插入图片描述
HTML 事件句柄
除此之外,您还应该避免使用 HTML 事件句柄的名称作为 Javascript 的变量及函数名。

变量

(1)定义变量时要使用var操作符(var是一个关键字),后跟变量名(一个标识符)。
(2)初始化的过程就是给变量赋一个值。可以在修改变量值的同时修改值的类型。(不建议)
(3)使用var操作符定义的变量为该变量的作用域中的局部变量。
(4)若省略var操作符,则定义的变量为全局变量。(不建议)
(5)可以使用一条语句定义多个变量,用逗号隔开即可。(这些变量的类型可以不相同)
(6)在严格模式下,不能定义名为eval或arguments的变量,否则会导致语法错误。

数据类型

1.(1)五种简单数据类型:
Undefined、Null、Boolean、Number和String。
还有一种复杂的数据类型:Object。(Object本质上是由一组无序的名值对组成的)
(2)typeof操作符
“undefined”——如果这个值未定义
“boolean”——如果这个值是布尔值
“string”——如果这个值是字符串
“number”——如果这个值是数值
“object”——如果这个值是对象或null
“function”——如果这个值是函数
2.Undefined类型
在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined。
对未初始化的变量执行typeof操作符会返回undefined值,而对未声明的变量执行typeof操作符同样也会返回undefined值。
3. Null类型
Null类型是第二个只有一个值的数据类型,这个特殊的值就是null。
从逻辑角度看,null值表示一个空对象指针,而这也正是使用typeof操作符检测null值时会返回”object”的原因。
4.Boolean类型
(1)Boolean类型只有两个字面值:true和false(区分大小写)。
在这里插入图片描述
①n/a(或N/A),是not applicable的缩写,意思是“不适用”。
5.Number类型
(1)八进制字面值的第一位必须是零,然后是八进制数字序列。
(2)十六进制字面值的前两位必须是0x,后跟任何十六进制数字。其中字母A~F大小写都可以。
(3)浮点数值
如果小数点后面没有跟任何数字或浮点数值本身表示的就是一个整数,那么这个数值就可以作为整数来保存。
对于那些极大或极小的数值,可以用e表示法表示浮点数值表示。用e表示法表示的数值等于e前面的数值乘以10的指数次幂。e大小写都可以。
浮点数值的最高精度是十七位小数。
6. 数值范围
最小数值保存在Number.MIN_VALUE中,在大多数浏览器中,这个值为5e-324.
最大数值保存在Number.MAN_VALUE中,在大多数浏览器中,这个值是1.7976931348623157e+308。
7.NaN
非数值(Not a Number)是一个特殊的树脂,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况。
特点:
(1)任何涉及NaN的操作都会返回NaN。
(2)NaN与任何值都不相等,包括NaN本身。
isNan()函数:接受一个参数,该参数可以是任何类型,函数会帮我们确定这个参数是否“不是数值”。该函数在接收到一个值之后,会尝试将这个值转换为数值。某些不是数值的指直接转换为数值。
8. 数值转换
可以把非数值转换为数值的函数:
Number()、ParseInt()和parseFloat()。
Number()函数的转换规则:
(1)如果是Boolean值,true和false将分别被转换为0和1。
(2)如果是数字值,知识简单的传入和返回。
(3)如果是null值,返回0。
(4)如果是undefined,返回NaN。
(5)如果是字符串:
①如果字符串中只包含数字(包括前面带加号或头号的情况),则将其转换为十进制数值,即“1”会变成1,“123”会变成123。
②如果字符串中包含有效的浮点格式,如“1.1”则将其转换为对应的浮点数值(同样也会忽略前导0)。
③如果字符串中包含有效的十六进制格式,例如“0xf”,则将其转换为相同大小的十进制整数值。
④如果字符串是空的(不包含任何字符),则将其转换为0。
⑤如果字符串中包含除上述格式之外的字符,则将其转换为NaN。
(6)如果是对象,则调用对象的valueOf()方法,然后依照前面的规则转换返回的值。如果转换的结果是NaN,则调用对象的toString()方法,然后再次依照前面的规则转换反悔的字符串值。
parseInt()函数:
该函数在转换字符串时,更多的是看其是否符合数值模式。他会忽略字符串前面的空格,直至找到第一个非空格字符。
该函数转换空字符串会返回NaN。
如果第一个字符是数字字符,该函数会继续解析第二个字符。知道解析完所有后需自付或者遇到了一个非数字字符。
该函数也能够识别出各种整数格式。
parseFloat()函数:
与parseInt()函数相似。
字符串中的第一个小数点是有效的,第二个小数点就是无效。且后面的字符串被忽略。

本篇博客是看==《JavaScript高级程序设计》(第3版)==做的笔记。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值