在HTML中使用javascript (js高级程序设计)
在HTML中使用javascript
刚开始入门的时候觉得关于应用以及在html中只用javascript很简单,不需要进行学习。我又开始重温了一下红宝书,觉得还是有必要进行学习的。这是一个笔记!
script 元素插入有多种方式
属性 | 使用方式 |
---|---|
async | 延迟脚本,在网页完全解析后运行 |
charst | 指定字符集,会忽略它的值 |
defer | 会立即下载,但延迟进行执行 |
language | 在大多数浏览器中已经废弃 |
type | 默认为txt/javascript |
src | 表示要执行的外部文文件 |
javascript的代码是由上至下进行执行的
当我们需要在js代码中插入,script的时候,需要使用到转义字符
<script>
function fun(){
alert("</script>")
}
</script>
标签的位置
js代码适用于放置于body下面。 因为浏览器是在遇到body才开始呈现页面的。
严格模式
关于严格模式,我了解的不多。
严格模式定义了一种不同的解析与执行模型,一些不确定以及不安全的行为会进行报错。
" use strict "
我需要在后面理解一下。
关键字的保留
不需要多记,例如:
while do break 之类的
变量
var 为定义一个变量,在执行过后会进行销毁
具体有局部变量和全局变量,我想后面需要谈一下自己的看法
数据类型
ECMAScipt 一共有5中简单的数据类型:
使用typeof可能返回字符串》
Undefined 未定义
Null 在 typeof 下不会出现
Boolean 布尔值
Number 不出现
String 不出现
以及一种复杂类型 Object 如果这个值是对象或Null
function 返回函数
Undefined
只有一个值,使用var声明变量但未对他进行初始化 ,则是Undefined
在为声明的情况下会报错,不会得到Undefined
var message;
alert(message == Undefined); -> (true)
alert(age); ->错误
Boolean
没搞懂
Number
在算术计算是,所有八进制和十六进制表示的数值都将转换为十六进制
浮点数不会相等,不能机械能比较
NaN
即非数值
他定义了一个函数: isNaN -> 确定参数是否" 不是数值 "
他会尝试转换数值
例:
alert(isNaN(NaN)); //ture
alert(isNaN("10")); //flase
alert(isNaN(bulue)); //不能转换为数值
数值转换 :
布尔值 true 和 false 会分别转换为1 和 0
null // 0; Undefind // NaN
一般前导零会忽略
var num1 = Number("hello") //NaN
var num2 = Number("") //0
var num2 = Number("001100") //11
解析
parseInt() 解析为整数 , 不提供八进制的解析 , 但是可以指定解析
parseInt("1234NUM") // 1234
parseInt("0XAF",16) //175
parseFloat() 解析为浮点数。
string类型
字符字面量 例如 \n
转换字符串
toString()
var age = 1;
var num = age.toString(); //"1"
var found = true;
var Found = found.toString(); // "true"
如果转换的值是 Null或者 Undefind的情况下,可以使用String();
var value = "";
alert(String(value)); //"Undefind"
Object 类型
可以添加属性或者自定义对象
var obj = new Object();
2017.10.12