JS学习笔记 01
js入门、变量、值类型、运算符
1、浏览器的组成部分
- 1.1 shell部分
- 1.2 内核部分
- 1.2.1 渲染引擎(语法规则和渲染)
- 1.2.2 js引擎
- 1.2.3 其他模块
2、主流浏览器及其内核
- 原因:(1)市场份额>3%; (2)必须有独立研发的内核
- IE Trident
- FireFox Gecko
- Chrome Webkit/Blink(2014),现在就是Blink
- Safari Webkit
- Opera Presto
3、JS引入方式
- 3.1 页面级js
<html lang="en">
<head>
<meta charset="utf-8">
<meta content="" name="keywords">
<meta content="" name="descript">
<title>js介绍、入门、js引入、变量、值类型、运算符</title>
</head>
<body>
<script type="text/javascript">
console.log('hello world');
</script>
</body>
</html>
- 3.2 外部js文件
<script scr="./test.js"></script>
4、js基本语法
- 4.1 变量声明
// 关键字 var, 来进行变量声明
var a; // 声明了一个 a 变量
- 4.2 变量赋值
// 赋值符号:=
var b; // 声明一个b , 变量
b = 10; // 变量赋值,将 10 赋值给 b,这样 b 就等于 10
b = 20; // 变量赋值,将 20 赋值给 b,这样 20 会覆盖前一个值,b 就等于 20
- 4.3 单一 var 模式
// 单一 var 模式,将要声明的多个变量,放一起一块声明,用逗号隔开,能提高效率
// 每个变量一行,用逗号隔开,代码会更加规范。
// 对每个变量,如果需要赋值也可以直接赋值
var a,
b,
c,
d;
var aa = 10,
bb = 20,
cc;
- 4.4 变量命名规则
- 4.4.1 变量必须以英文字母、下划线、$开头
- 4.4.2 变量可以包括英文字母、_、$、数字
- 4.4.3 不可以使用系统的关键字、保留字作为变量名
- 关键字:系统定义的变量,在系统里面有特殊语法含义,例如,var、let、const等
- 保留字:系统时刻在更新升级,有些单词在未来可能会被当作关键字
- js关键保留字
- 4.5 错误分类
- 低级错误(语法解析错误),通篇扫描,发现有低级语法错误,代码一行也不会执行
- 逻辑错误,错误后面的代码都不会执行,例如用了未定义的变量等
- js语法错误会导致代码终止,但不会影响到其他代码块。
5、数据类型
- 原始值: Number\Boolean\String\undefined\null
- 原始值保存在栈中(stack),栈结构:先进后出
- 栈内存和栈内存直接的赋值是拷贝的关系,当两者复制完就没有任何联系了
- js特点:动态语言-->解释性语言-->脚本语言-->声明变量的关键字只有一个 var
- 数字类型天生就是浮点型,也就是数字类型可以直接使用小数点
// Number
var a = 123;
var b = -123;
var c = 0.123;
// Boolean
var a = true;
var b = false;
// String
var a = "字符串";
// undefined:没有定义的,一个变量经过声明没赋值,就是undefined
// 未声明就输出,会报错
// 未声明就赋值,该变量归全局所有
var a;
console.log(a); // 输出 undefined
// null: 表示空对象的占位符
// null虽然是原始值,但由于历史的遗留问题,typeof(null) 输出 "object"
- 引用值: Array\function\Object\Date\RegExp(正则)...
- 引用值保存在堆中(heap),怎么进就可以怎么出
- 引用值,当变量声明时,会在栈中申请一个房间用来存放变量,当变量赋值时,如果值是原始值,会将值直接存放到申请的房间中,如果值是引用值,会在堆中申请一个房间,将引用值存放到堆中的房间,然后将堆中的房间地址存储到栈的房间中。
6、运算符
- "+"加号运算符
- 数学运算
- 字符串连接