【JavaScript】原生js基本数据类型以及数据类型转换

news/2024/7/19 15:46:35 标签: js, javascript

组成部分

ECMAScript:是js中的核心,扮演解释器的作用。

DOM: (document object model)作用是操作HTML,对象是 document。

BOM:(browser object model)作用是操作浏览器,对象是 window。

基本数据类型

<body>
    <ol>
        <li>基本数据类型:number、string、boolean、function、object、undefined</li>
        <li>变量的数据类型由它存放的值来决定</li>
        <li>属性类型undefined:第一种情况是变量未定义,第二种情况变量定义后未赋值</li>
    </ol>
    <script>
        window.onload = function(){
            var a = 12;  //number
            a = 'wenmeichao' //string
            a = true;   //boolean
            a = function(){} //function
            a = document //object
            var b; //undefined「未定义或者未赋值」
            console.log(typeof a) 
            console.log(typeof b) 
        }
    </script>
</body>

数据类型转换

string 转 number(显式类型转换)

<body>
    <input type="text" id="txt1">
    <input type="text" id="txt2">
    <input type="button" id="btn" value="求和">
    <hr>
    <ol>
        <li>+ 的作用:1、字符串连接 2、两个值相加</li>
        <li>paeseInt(): string 转 number,转整数</li>
        <li>paeseFloat(): string 转 number,转小数</li>
        <li>paeseInt()小特性:从左到由扫描字符串,遇到非数值跳出,并将找到的数值返回出去</li>
        <li>任何数和NaN相加结果都是NaN</li>
        <li>NaN和NaN不相等</li>
        <li>isNaN 判断非数字</li>
    </ol>
    <script>
        var a = '12' //12
        a = '12px' //12
        a = '123px56' //123
        a = 'abc'  //NaN(not a number)
        var b = 'def'
        console.log(parseInt(a))
        console.log(parseInt(b))
        console.log(parseInt(a) == parseInt(b)) //false NaN和NaN不相等
        console.log(parseInt(a) + 12) //NaN 任何数和NaN相加结果都是NaN
        console.log(isNaN(parseInt(a))) //判断非数值
        window.onload = function(){
            var txt1 = document.getElementById('txt1')
            var txt2 = document.getElementById('txt2')
            var btn = document.getElementById('btn')
            btn.onclick = function(){
                var n1 = parseInt(txt1.value);
                var n2 = parseInt(txt2.value);
                if(isNaN(n1)){
                    alert('第一个数非数字')
                }else if(isNaN(n2)){
                    alert('第二个数非数字')
                }else{
                    alert(parseInt(txt1.value) + parseInt(txt2.value))
                }
                
            }
        }
    </script>
</body>

隐式类型转换

<body>
    <hr>
    <ol>
        <li> == :会先进行类型转换(隐式类型转换)</li>
        <li>- :减法也会先进行类型转换,所以也是隐式类型转换</li>
    </ol>
    <script>
        var a = 5;
        var b = '5'
        var c = '12'
        console.log(a == b)  //先转换类型,再进行比较
        console.log(a === b) //不转换类型,直接比较
        console.log(c + b) //125 加法:因为加法既可以做字符串拼接又可以数值相加,所以计算机会执行简单的字符串拼接
        console.log(c - b) //7 减法,先转换类型,再进行比较   
    </script>
</body>

变量作用域

javascript"><script>
    var b = 5  //全局变量:在任何地方都可以用
    function aaa(){
        var a = 12;  //局部变量:只能在定义它的函数内部使用
    }
    function bbb(){
        alert(a)  // a is not defined
        alert(b)  //5
    }
    aaa()
    bbb()
</script>

命名规范

1、可读性

2、规范性:类型前缀、首字母大写

 

 


http://www.niftyadmin.cn/n/497537.html

相关文章

ecshop商品详细页图片放大镜(MagicZoom)

文件 mzp-packed.js http://photo.poco.cn/best_pocoer/js/mzp-packed.js style.css .MagicZoomBigImageCont {border:1px solid #66C010;} .MagicZoomHeader {font:12px Arial;color:#fff;text-align:center !important;background: #66C010; padding:4px 0;} .MagicZoomPup …

如何实现ecshop中把相册里每一张图片自动缩略成 商品图片大小

&#xff08;一&#xff09;现在的ecshop 在添加新商品的时候 把上传的商品图片 剪裁成 小图片 (在前台单个商品页面的 商品图片下面的 相册图片列表图 片 &#xff0c; $GLOBALS[_CFG][thumb_width], $GLOBALS[_CFG][thumb_height] 这个是大小) 跟 商品图片(就是单个商品页面的…

Android: 设置 app 字体大小不跟随系统字体调整而变化

在做 app 内字体大小的需求&#xff0c;类似于 微信中设置字体大小。 那么就需要 app 不跟随系统字体大小调整而变化&#xff0c;找到了两个方法。 方法1&#xff1a; 重写 getResource() 方法&#xff0c;修改 configuration 为 setToDefaults() 1 /**2 * 设置 app 不…

修改ecshop中的{insert name='cart_info'}

很多人使用ecshop开源程序开网店&#xff0c;但是在使用ECShop模板的时候&#xff0c;很多人想把购物车地方修改的更人性化点&#xff0c;比如说把原来“购物车中有X件商品”改为“您的购物车中有X件商品&#xff0c;总计&#xffe5;80元”。 所以&#xff0c;我们只有通过…

AIX系统中适用于ksh的循环语句

习惯了linux系统的bash,在AIX系统上使用ksh极为不便&#xff0c;bash中很多的命令在ksh中无法使用&#xff0c;并且ksh中的退格键相当难用&#xff0c;好吧不再继续吐槽了。在AIX上写循环语句时&#xff0c;首先想到就是使用for循环&#xff0c;但是令人遗憾的是&#xff0c;se…

Js~对数组的操作

在工作中可能用的不多,但一些特殊的场合还是会用到,所以在这里,把JS的数组操作总结一下,分享给大家! Array 对象 Array 对象用于在单个的变量中存储多个值。 创建 Array 对象的语法&#xff1a; new Array(); new Array(size); new Array(element0, element1, ..., elementn);参…

【JavaScript】原生js中运算符以及流程控制

运算符 算数&#xff1a; 加、- 减、* 乘、/ 除、% 求模 赋值&#xff1a;、、-、*、/、% 关系&#xff1a;>、<、 >、 <、 、 、 !、 ! 逻辑&#xff1a;||或、&&与、!否 实例1、求模 window.onload function(){alert(0%2) //0alert(1%2) //1alert(2%2)…