JS数据类型转换

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 是几进制
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值