1.学习资料(p13-p19)
【优极限】 HTML+CSS+JavaScript+jQuery前端必学教程,小白教学,前端基础全套完成版_哔哩哔哩_bilibili
2.学习笔记
一、JS的三种使用方法
1.行内JS
在HTML标签上直接写JS代码
2.内部JS
在script标签中写JS代码,script标签可以放在head中或body中(建议放在body标签最后)
3.外部JS
定义JS文件,通过script标签的src属性,则在script
双标签之间的JS代码不会生效
二、基础语法
语句:
1.JS代码一行为单位,代码从上往下执行,一行一条语句。
2.与局部加分号结尾,如果一行定义多条语句,美剧语句只会必须以分号结尾(建议都加)
3.表达式不需要以分号结尾,如果加了分号则JavaScript引擎会当做语句执行,生成无用的语句。
注释与C一样
标识符:
规则
由Unicode、字母 、_、$、数字组成、中文组成
(1) 不能以数字开头
(2) 不能是关键字或保留字
(3) 严格区分大小写
三、变量
JS是一种弱类型语言,变量无数据类型,直接用var修饰符进行声明
变量可以不声明(类似于python)
变量的声明
1.先声明再赋值
2.声明并赋值
例:
<script type="text/javascript">
var a;
a = 1;
console.log(a);
</script>
变量的注意点
1.如果变量只声明而未赋值,则显示undefinded
2.如果变量未声明就使用,则会报错
3.可以使用var同时声明多个变量
4.如果重新声明一个已存在的变量,是无效的
5.如果重新声明一个已存在的变量并赋值,则会覆盖
6.JS是一种动态的、弱类型语言,可以声明任意数据类型的变量
变量名提升
JavaScript 引擎的工作方式时,先解析代码,获取所有被声明的变量,然后
再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升
到代码的头部,这就叫做变量提升。
三、数据类型
例:
function strprint(str1){
console.log(str1)
}
undefined类型
值不存在
出现的情况:
1.变量只声明未赋值,值为undefined
2.当定义函数需要形参,调用函数未传递实参时,参数的值为undefined
3.当函数没有返回值,接收值为undefined
null类型
表示空值
注意点:
1)使用 typeof 操作符测试 null 返回 object 字符串。
typeof 操作符:判断变量的类型
2)undefined 派生自 null,所以等值比较返回值是 true。未初始化的变量和赋值为 null 的变量相等
数值型
数值型包含两种数值:整型和浮点型。
1)所有数字(整型和浮点型)都是以64位浮点数形式贮存。所以JS中 1与1.0相等
2)在存储数值型数据时自动
字符串类型
1.使用''或""引起来
2.可以使用"+"对字符串进行拼接
对象类型
数组
var 数组名 = [];
对象
var 对象名 = [];
函数
function 方法名()
{
}
四、类型转换
自动类型转换
1.所有的值转字符串都是加引号
2.转布尔型,有值为true,无值为false(0为false,非0为true)
3.空值是0,非空的数值型字符串能转换,非数值字符串转换为NaN
函数转换
parseInt() 转整数型
parseFloat() 转浮点型
注:转换时会从值的第零个位开始找有效数字,直接找到无效数字位置
例1:
<script type="text/text/javascript">
console.log(parseInt(123abc));//123
console.log(parseInt(abc123));//NaN
console.log(parseInt(123.4abc));//123
console.log(parseInt(123));//123
</script>
例2:
<script type="text/text/javascript">
console.log(parseFloat(123abc));//123
console.log(parseFloat(abc123));//NaN
console.log(parseFloat(123.4abc));//123.4
console.log(parseFloat(123));//123
console.log(parseFloat(123.4.5));//123.4
</script>
显示转换
toString() 将值转换成字符串
toFixed() 保留指定小数位
注:值不能为null
例:
</script>
<script type="text/javascript">
var aa = 10;
console.log(aa);
console.log(aa.toString());
var bb = 1.345;
console.log(bb.toFixed(2));
</script>
强制转化
JS为Number、Boolean、String对象提供了构造方法
强制转化
console.log(Number(aa));
console.log(Boolean(aa));
console.log(String(aa));