一.JavaScript的逼格(特性)
1.解释性语言
2.单线程 (js的执行队列)轮转时间片
一个个时间片段执行,执行任务的顺序就看抢夺的时间片段的顺序!
eg:吃饭
3.ECMA的标准
因为很多公司都出了自己的script之后为了统一标准,后来出了ECMAScript。
二.JavaScript分成三大部分
1.ECMAScript
2.DOM
3.BOM
三.JavaScript的引入方式
可以在html的任何位置
但是为了符合web标准,最好能够结构,样式,行为相分离。(简单来说就是)
1.内部引用(页面内嵌script 标签)
<script type="text/javascript">
document.write('hello world!!')
</script>
2.外部文件引用
<script type="text/javascript" src="location">
</script>
不能同时进行外部引用和内部引用
四.JavaScript的变量
1.变量声明
var a;
如果声明多个变量最好一次性声明完成,节约时间
var a,b,c,d,e;
2.变量赋值
var a;
a=100;//变量赋值
var a=100;//变量的赋值分解(先进行变量的生命,再进行变量的赋值!)
3.命名规则
1.变量必须以英文字母,_,$开头
2.变量名可以包括英文字母,_,$,数字
3.不可以用系统的关键字,保留字作为变量名
4.数据类型
(1)不可改变的原始值(栈数据)
Number 数字
Boolean 布尔类型的值(true 或者 false)
String 字符串
undefined 未被定义赋值
null 空值 : 计算中具有保留的值,用于指示指针不引用有效对象
(2)引用值
Array 数字
Object 布尔类型的值(true 或者 false)
function 字符串
...date 未被定义赋值
RegExp 空值 : 计算中具有保留的值,用于指示指针不引用有效对象
(3)两个的区别
原始值 存放在 stack(栈)中 stack先进去的东西最后出来,栈里和栈里的值是复制重新生成一份
var num=100;
var num1=num;
num=200
document.write(num,num1)
//结果 200 100
引用值存放在heap(堆)中 在stack中存进去一个heap中对象
var arr=[1];
var arr1=arr;
arr.push(2)
document.write(arr,arr1)
//结果 1,2 1,2
但是如果是重新写一个数组进行对arr的赋值,这个时候并不会影响到arr1
var arr = [1,2,3];
var arr1 = arr;
arr = [1,3]
document.write(arr,arr1)
//结果 1,3 1
五.JavaScript的基本语法
1.语句后面最好用分号结束“;”
2.语法错误会引发后续代码终止,但是不会影响其他js代码块
(1)低级错误(语法解析错误)
(2)逻辑错误(标准错误 情有可原)