JS的组成
JS分三个部分
- ECMAScript :核心语法
- BOM:使得JS具有操作浏览器的办法
- DOM:使得JS能够操作HTML文档
代码的执行过程
机器 ---- 0 1
代码 -----0 1
指令集
精简指令集和复杂指令集
运算上不一样,使用的01
代码不一样。
加法运算:01 10 11
计算机是没有减法运算的。也没有除法与乘法运算。
0 1
代码:基本没人看得懂
汇编语言:能看懂的人稍微多点。嵌入式开发人员
[JavaScript]()经过[ECMA]()转变成机器代码。这个解析器是内置在浏览器里面的。浏览器直接执行。动态解析。
[JAVA]()语言,必须先经过编译然后才能运行。
进制
二进制 : 0 1
( 表示8: 1000 1*2^3 = 8
)
进制计算:0101001
(1*2^0 + 1*2^3 + 1*2^5 =41
)
计算: 1+8 +32 = 41
8421码: (011 0101 1100
)
八进制:0-7
十六进制:0-9 ,a-f
深入理解JS
基于事件驱动的语言
嵌入式脚本语言。
嵌入式 :嵌入到其他应用程序中运行的。
脚本语言:脚本语言是无法做应用的。
直译式脚本语言:直接解析运行
动态类型与弱类型:变量的赋值。
基于原型的。面向对象的概念。
JS的语句
一行一句,分号结束
JS的执行顺序
从上到下,依次执行
JS的注释
- // 单行注释
- /**/多行注释
标识符
标识符命名规则 用户定义的名字(类名,变量名,函数名
)
命名法:
驼峰命名法 下划线命名法 匈牙利命名法
代码区块
每一个大括号里面的就是一个区块
if(){
代码区块
}
匈牙利命名法:
类型前缀+首字母大写
变量的赋值与申明
例:
var a;
var+变量名;
var
是申明变量的关键字,关键字就是系统已经使用的但系,用户在自定义标识符的时候就不能够使用这个字符串了。在申明变量的时候可以没有var
(但是必须在申明的时候直接赋值。
)
undefined;
未定义(或者定义了没有值。
)
变量在没有申明的情况下,如果直接使用会产生一个not defined(未定义
)的错误
变量申明了但是没有给具体的值,这是变量的内部就是undefined(未定义
),但是本意是为赋值。
变量的提升
就是在所有的代码执行之前,首先要执行的是代码的申明,比如变量的申明,函数的申明,但是函数内部的变量是在函数执行的时候申明的,而不是函数定义的时候申明的。
JS的数据类型:
(数据类型是语言为了内存所做的优化。
)
number:数字类型,整数个小数都是数字类型。
string:字符串类型,
object:对象类型。
function:函数类型
undefined:未定义。和申明没有关系。
Boolean:布尔值。
null:空类型。
JS有多少种数据类型?
细化:7种
粗略:5种。
或者加null 共六种(null可以化在object里面
)
究极的:JS一切皆对象,所有只有object;
typeof能够去检测一个数据的数据类型。
总结
我们习惯性的,我们会把函数的定义以及变量的定义都放在代码开始的地方。JS 的变量是区分大小写的。
var ....;
var ....;
var ....;
function .....
fucntion .....
function .....
代码执行。
如何使用一行代码定义多个符号?
用逗号
隔开;逗号操作符表示系列操作,一起执行
的意思;