JavaScript组成
- ECMAScript:JavaScript的语法标准
- ECMA是European Computer Manufacturers Association的缩写,即欧洲计算机制造商协会
- ECMAScript是ECMA制定的脚本语言的标准,规定了一种脚本语言实现应该包含的基本内容
- JavaScript是脚本语言的一种,所以JavaScript也必须遵守ECMAScript标准,包含ECMAScript标准中规定的基本内容
- DOM(Document Object Model):JavaScript操作网页上的元素(标签)的API
- DOM可以把HTML看做是文档树,通过DOM提供的API可以对树上的节点进行操作
- BOM(Browser Object Model):JavaScript操作浏览器的部分功能的API,通过BOM可以操作浏览器窗口,比如:弹出框、控制浏览器跳转、获取分辨率等
JS的书写方式
内联方式:在一对script标签中书写
- 如果将JS代码写到了一对head标签中的一对script标签中那么JS代码必须写到window.onload = function(){}的大括号中
- 浏览器渲染界面的时候,会从上至下的执行代码(加载元素),直接在一对head标签中的一对script标签中书写JS代码,如果做了DOM操作,那么可能拿不到需要操作的元素
- window.onload = function (){}这句代码的含义就是等到界面上所有DOM元素加载完毕之后再执行里面的JS代码
- 所以可以直接写在body标签最后
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
window.onload = function () {
alert("hello")
}
</script>
</head>
外联方式
- 在一个单独的文件中书写
由于外联方式导入JS文件的时候, 也是写在了Body标签的前面, 所以在单独的JS文件中也必须将JS代码写到window.onload = function(){}中这样才能保证将来做DOM操作时, 界面上的DOM元素都加载完毕了
行内方式
- 直接在标签上书写(不推荐)
JS常见输出方式
浏览器弹出窗口
- 在浏览器弹窗中输出内容
alert("我是弹窗")
- 比alert多一个按钮
var res = confirm("hello")
- 让用户输入内容
var res2 = prompt("请输入内容");
console.log(res2); //用户输入的内容
在网页中输出内容
document.write("world")
控制台输出
- 和过去的fmt.Println一样
console.log("hello");
console.warn("world");
console.error("hi");
常量与变量
- 与C语言中一样
- 定义变量
var num = 1;
const a = 1;
注意点:
- JS中定义变量不用指定数据类型, 赋值时系统会自动确定变量的类型
- JS中变量没有初始化默认是undefined
数据类型
- 获取对应的数据类型
typeof 变量
typeof 常量
- JS中所有数字类型统称为Number类型,没有int/float/double概念
- 如何获取Number类型的取值范围
//最大值 + 最大值
console.log(Number.MAX_VALUE + Number.MAX_VALUE);
//最小值
console.log(Number.MIN_VALUE);
//Infinity 无穷大
//-Infinity无穷小
- 用单引号或者双引号括起来的都是字符串(无字符和字符串的概念)
var str = "'hello'"
console.log(str); // 'hello'
- 单引号和双引号可以嵌套,同类型不能嵌套
- JS中布尔类型只有两个取值, 要么是true, 要么是false(非0即真,本质上底层做了一次自动类型转换)
- Null和Undefined这两个都代表数据是空的
- undefined代表变量没有赋值
- null需要手动设置, 代表是一个空对象
- undefined值实际上是由null值衍生出来的.比较会返回true
var res = null == undefined;//true
console.log(res);
var res1 = null === undefined;//false
console.log(res1);
网友评论