1.JS不同方式的执行顺序:
1)行内引入JS:
直接将JS代码写在HTML标签内的某个属性值里面
<input type="button" value="点击一下" onclick="alert('你好世界!')">
优点:书写方便,优先级高
缺点:控制范围小,可读性差
2)内嵌引入JS:
在HTML文件里面的某个地方添加一个<script>
标签,然后在这个<script>
标签内部书写JS代码
<script>
var a = 1;
console.log(a);//1
</script>
优点:可以直接在<script>标签中直接书写
缺点:没有实现完全的语言分离
3)外联引入JS:
专门创建一个JS文件,这个JS文件的后缀名为.js
,然后在JS文件中书写代码,最后在需要的HTML中导入JS文件即可
<script src="./01.js"></script>
优点:完全实现了语言分离,适合大项目的制作
缺点:增加了文件的数量
注意!:
如果对于同一个HTML内部的同一个标签使用不同的JS方式,那么行内JS最优先,内嵌JS其次,外联JS最后.
2.数值转换Number():
1):回顾八种数据类型:
1.Number 数值型
2.String 字符串型
3.null 空
4.NaN 无法转换为数值型
5.undefined 没有定义
6.Array 数组
7.Object 对象
2):Number()说明:
Numebr() 数值弱转换
如果要转换的数据类型不是纯数字,那么则不能转换
除了null 转换为 0
因为null类型在计算机的含义中代表的是错误
3)字符串转换为数值型:
<script>
var num = '2208';
console.log(num);//字符串2208
console.log(Nmuber(num));//数值型2208
</script>
4)undefined转化为数值型:
<script>
console.log(Number(undefined));//NaN无法转换
</script>
5)null转换为数值型:
<script>
console.log(Number(null));//0
</script>
6)Boolean(波尔型)转换为数值型:
<script>
console.log(Number(true));//1
console.log(Nmuber(false));//0
</script>
3.字符串转换String():
1)说明:
所有的基本数据类型被字符串转化后都变成了 相应的字符串类型
String是浅转换,因为String指挥转换数据本身,找不到更深层次的值
2)字符串转换:
<script>
1.数值型转换为字符串
console.log(String(456)); //字符串456
2.null转换为字符串
console.log(String(null)); //字符串null
3.undefined转换为字符串
console.log(String(undefined)); //字符串undefined
4.波尔型转换为字符串
console.log(String(true)); //字符串 true
</script>
3)引用类型转换字符串:
String本身有一种机制,它可以将看得见的东西,让你看不见
<script>
1.Array数组
var arr = [123,456];
console.log(String(arr)); //123,456
2.Object对象
console.log(String({})); //[boject,Objcet]
注意!:引用数据类型转换为字符串型 尽量不要用
</script>
4.强制转换整数parseInt():
1)说明:
最开始仅仅为了把含有数值的数据类型里面的数字提取出来,转换成整数使用。但是创始人不满足现在,又添加了一些语法 起名:parseInt()
2)基本用法:
1.只能提取到前面的数字 后面的找不到
<script>
var number = '123ab';
console.log(parseInt(number));//123
</script>
2.数据类型开头不是数组 就不能转换
<script>
var number = 'ab123';
console.log(parseInt(number));//NaN
</script>
3.当连续的数字最后一位后面不是数字时,就不往后寻找,直接删除
<script>
var number = '123ab456';
console.log(parseInt(number));//123
</script>
4.当数字之间有空格时,只清除数字前面的空白,当连续的数字最后一位不是数字,就不往后寻找,之间删除
<script>
var number = ' 123 456';
console.log(parseInt(number));//123
</script>
5.只保留整数
<script>
var number = '3.1415926';
console.log(parseInt(number));//3
</script>
6.转换不了布尔类型和null类型,只能转换开头是数字的字符串类型和数值类型
<script>
var number1 = 'true';
console.log(parseInt(number1));//NaN
var number2 = 'null';
console.log(parseInt(number2));//NaN
</script>
5.浮点数转换parseFloat():
1)说明:
浮点数转换就是保留小数点的数字并且转换成数值类型,其他用法与parseInt()相同
2)保留小数并且转换成数值类型:
<script>
var number = '3.1415926';
console.log(parseFloat(number));//3.1415926
</script>
3)保留小数后n位toFixed(n):
1.调用方法: 变量名.toFixed(n)
<script>
var number = '3.1415926';
console.log(number.toFixed(3));//3.142
</script>
特别说明:此方法遵顼四舍五入!
6.布尔类型转换Boolean():
1)说明:
将数据类型转换成布尔型:true false
2)数值型转换为布尔型:
<script>
var num = 0;
console.log(Boolean(num));//false
</script>
说明:除了0为false 其余都为true
3)字符串型转换为布尔型:
<script>
var str = ' ';
console.log(Boolean(str));//false
</script>
说明:除了空字符串为false 其余都为true
4)undefined转换为布尔型:
<script>
var _undefined = undefined;
console.log(Boolean(_undefined));//false
</script>
说明:因为未被定义 所以为false
5)null转换为布尔型:
<script>
var _null = null;
console.log(Boolean(_null));//false
</script>
说明:null 表示空 没有意义 所以为false
6)NaN转换为布尔型:
<script>
var _nan = NaN;
console.log(Boolean(_nan));//false
</script>
说明:NaN是个结果,结果是没意义的 所以为false
7)引用类型转换布尔型:
<script>
var arr = [];
console.log(Boolean(arr));//true
var obj = {};
console.log(Boolean(obj));//true
</script>
说明:因为 数组 对象都是有意义的 所以转换布尔类型是结果都为true
7.进制转换:
<!-- 进制数 最大为36进制 -->
<script>
var a = 1101;
console.log(parseInt(a,2));
</script>
说明: parseInt(a,b),a 是要转换的数,b 是几进制