一、js文件
js 三大部分 ECMAScript、DOM、BOM
如何引入 js?
1、页面内嵌<script></script>
标签,写 head 里面也行,写 body 里面也行
例
<body>
<script type="text/javascript"> //告诉浏览器我们是 js
</script>
</body>
2、外部 js 文件,引入<script src=“location”></script>
例如:以 lesson.js 保存文件,再引入到 html 中
为符合 web 标准(w3c 标准中的一项)结构(html)、行为(js)、样式(css)相分离,通常会采用外部引入。
一个文件中可以包括多个 css,js——不混用
特殊写页面,大部分写在外部——不混用
如果同时写了内部的 js 和外部的 js,那么是外部的 js 文件显示出来。
二、js基本语法
1、变量(variable)
HTML,css 不是编程语言,是计算机语言,编程语言需要有变量和函数
变量是存放东西,方便后续使用的框
1、变量声明
1)声明、赋值分解
var a; 这个叫变量声明。我们向系统中申请了 var 这个框,命名叫 a 给 a 赋值 100,写作 a =100,这里不是等号是赋值
var a ;a =100;可以简化写成 var a=100;
2)单一 var 声明法
var a,b,c,d;————单一 var 模式
var a=100;
var b=200;
var c=300;
var d=400;
就等于
var a,b,c,d;
a=100;
b=100;
c=100;
d=100;
开发标准
var a=10,
b=20,
c=30,
d=40;
如写做:var a = 10;a=20;那么后面的 20 就会覆盖掉前面的 10
2、命名规则(用接近的英文单词)———— 起变量名一定要以英文语义化
1)变量名必须以英文字母、下划线、$ 开头
2)变量名可以包括英文字母、下划线、$、数字
3)不可以用系统的关键字、保留字作为变量名
三、基本语法
下面是变量,例:
var a = 10;
var b = 20;
var c;
c = a + b;
先运算等号右边的 a+b,运算完后,再赋值给左边 c
先取值,再赋值
运算大于赋值的优先级
js 是动态语言,动态语言基本上都是解释性语言,解释性语言基本上都是脚本语言
js 是浮点型语言(带小数点)
1、值类型(数据类型)
1)不可改变的原始值(栈数据)栈 stack
Number,String,Boolean,undefined,null
已经放进去的值不可改变,只会改房间编号为 null(硬盘原理)
Number 数字,例 var a = 123;
String 字符串,语言放双引号里,例 var a=”语言”
,““是空串
Boolean 布尔数字,就两个值,false,true
undefined 是没有定义的,表示还没赋值,仅一个值 underfined
null 代表空,占位用,用空值来覆盖
例:
var a =10;
var b = a;
a = 20;
document.write(b);
答案:10
所以:原始值是我把一个值放到另一个值里面,改了第一个值,第二个值不变
2)引用值(堆数据)大致上放堆 heap 里面
array 数组, Object, function … data,RegExp 正则
var arr = [1,2,3,4,5,false,”abc”]; //这是数组
例:
var arr = [1];
var arr1 = arr;
arr.push(2);
document.write(arr1);
答案:arr 是 1,2。arr1 是 1,2
所以:引用值是把第一个值放到第二个值里面,改第一个值,第二个值也改
js 由值决定类型。原始值和引用值唯一的不同是赋值形式不同
点击黄色超链接 [堆栈的详解] ,看详细解释(https://blog.csdn.net/qq_44799466/article/details/106074212)
2、js语句基本规则
1、语句后面要用分号结束 “;”
但 function test(){},for(){},if(){}后面都不用加分号
2、js 语法错误会引发后续代码终止,但不会影响其它 js 代码块错误分为两种
1)低级错误(语法解析错误),不能写中文
2)逻辑错误(标准错误,情有可原,错的那个执行不了)