JavaScript3基础——运算符和类型转换

JavaScript3基础——运算符和类型转换
    
JavaScript运算符
    JavaScript运算符也称操作符。其作用是对目标数据进行运算操作。

基本数学运算符
    + - * / %  分别为加,减,乘,除,求模(求余数)
    加减乘除不再赘述,此处解释一下求模
    eg: var a = 10%20  //10
    eg: var a = 15%4   //3
    求模运算较为常见的地方在于处理时间.
    如下 199秒换算为几分几秒。
    199/60 为分钟数  199%60 为秒数
    eg: var s = 199;
         alert(parseInt(s/60)+‘分‘+parseInt(s%60)+‘秒‘)//3分19秒
    
    如果不加parseInt()结果会存在因为除不尽无限小数的问题。该函数下面介绍。

求模还经常出现在有规律的变化问题上,比如隔行变色。
    i%2 判断奇偶数,偶数设置一个背景色,奇数设置一个背景色。
    eg:
        <!DOCTYPE html>
    <!--
        作者:offline
        时间:2017-05-23
        描述:求模示例 隔行变色
    -->
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                
            </style>
            <script>
                window.onload = function(){
                    var oLi = document.getElementsByTagName(‘li‘);
                    for(var i =0;i<oLi.length;i++){
                        if(i%2==0){//偶数
                            oLi[i].style.background=‘lightblue‘;
                        }else{
                            //
                            oLi[i].style.background=‘gray‘;
                        }
                    }
                    
                }
            </script>
        </head>
        <body>
            <ul id=‘ul‘>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
            </ul>
        </body>
    </html>
        
赋值运算符
    = += -= *=  /= %=
    对于我们最熟悉的就是=了,
    eg :var a = 1;
    把数字1赋值给变量a;
    而所谓的+=,-=,*=,/=,%= 其实都为两步运算,先运算再赋值。
    eg :var num = 5;
         num+=3;
         alert(num)//8
         其等价于
         var num = 5;
         num = num + 3;
         alert(num)//8;
    故-=,*=,/=,%=依次类推。
    值得一说的是
    eg:var a  +=5; 该句出现语法错误。
    因为 拆分开为 var a = a+5,在运算时a还未定义。

自加和自减
    ++ -- 表示加1 或减1;
    自加和自减本质一样,此处详细介绍自加。
    var num  = 10;
    ++num;
    alert(num);//11
    其等价于
    var num =10;
    num+=1;
    alert(num);//11
    等价于
    var num =10;
    num = num+1;
    alert(num);//11
    其最终结果都为11;
    但是++num和num++是不一样的。也就是++的符号在变量前后意义是不一样的。
    ++num是先运算再赋值
    num++是先赋值再运算。
    eg:        var num2 = 10;
            var num3 = ++num2;
            alert(num3); //  11
            alert(num2); //  11
            
            var num2 = 10;
            var num3 = num2++;
            alert(num3); //  10
            alert(num2); //  11

比较运算符
    ==  != < <=  > >=
    eg: var num1 = 5
         var num2 = 10;
         alert(num1==num2);//false
         alert(num1<=num2);//true
         ………………
         较为简单不再举例
 
逻辑运算符
    大多数用在if语句的判断上,if语句只有为真才会执行,if(true){执行内容}
    && || ! 与或非
    逻辑与&&表示AND代表并且
    逻辑或||表示OR代表或者
    逻辑非!代表NOT代表非
    eg:    
        <script>
            var a = true;
            var b =false;
            if(a&&b){
                alert(‘&&‘);//a和b都为真才执行
            }
            if(a||b){
                alert(‘||‘);//a和b有一个为真就执行
            }
            if(!b){
                alert(‘!‘);//!b即!false 意思是不是false即true
            }
        </script>

三目运算符
    三目运算符和日后学习的if条件语句较为相似。
    表达式?true:false;
    表达式为真则执行true部分,表达式为假则执行false部分
    eg: var num1 = 1;
        var num2 = num1<2 ? num1: 2;
    意思是 num1是否小于2,如果小于2则把num1赋值给num2否则把2赋值给num2;
    三目运算符还经常运来做兼容性处理。
    var e = window.event ? window.event : e;//兼容chrome和IE
    
位运算符和位移运算符
    % ^ | ~  >>    << >>>  不常用制作了解即可

运算符优先级
    先执行优先级高的运算符再执行低优先级运算符,
    优先级相同则按照顺序有左到右执行

JavaScript类型转换
   JavaScript类型转换分为三种。显示,隐式,强制。
    显示类型转换
        转换为字符串
            toString()
        转换为数字
            parseInt()
            parseFloat()
    隐式类型转换
        == ===   
        字符串加减   
    强制类型转换
        Boolean(value)把给定的值转换为Boolean
        Number(value)把给定的值转换为数字
        String(value)把给定的值转换为字符串

eg: 转换为数字
    var str = ‘123‘;
    alert(parseInt(str));//123
    parseInt只能转换为能转换的数字。
    var str = ‘123qwe‘;
    alert(parseInt(str));//123 ,qwe不再转换。
    如果全部为不能转换的字符串则数显NAN
    var str = ‘qwe‘;
    alert(parseInt(str))//NAN,表示非数字
    
eg:    转换为字符串
    var num = 123;
    alert(num.toString());//‘10‘
    var boo = true;
    alert(boo.toString());//‘true‘
eg:隐式类型转换
        <script>
            var a = 6;
            var b = ‘6‘;
            alert(a==b);// ==比较会先转换类型,然后比较 ,属于隐式类型转换;true
            alert(a===b);//===不转换类型,直接比较,false
            var num1 = ‘10‘;
            var num2 =‘20‘;
            var num3 = 30;
            alert(num1+num2);//‘1020‘  +字符串连接
            alert(num1+num3);//‘1030‘  字符串和数字相加
            alert(parseInt(num1)+num3);//40
            alert(num1 - num2); //-10
        </script>

限于文章篇幅原因,这里仅仅介绍冰山一角。由于笔者的水平有限,编写时间也很仓促,
文中难免会出现一些错误或者不准确的地方,不妥之处恳请读者批评指正

说在最后的话:

本博会开一个JS专栏,长期更新,由浅入深带大家系统的学习JavaScript,做出多彩的JS特效。

如果对你有用就关注一下吧。

想观看JS视频的博友可以在51CTO上搜索《多彩JavaScript》。
http://edu.51cto.com/course/10767.html

时间: 2024-12-24 08:22:50

JavaScript3基础——运算符和类型转换的相关文章

java基础--------运算符与类型转换

运算符 运算结果 低精度向高精度靠拢 如 Long+float=double 常量整形默认 int 没有声明数据类型的整形默认为int    如: 123  在编译器会默认将它识别为(int)123 常量实型默认 double ... 如 1.2345 ... double (1.2345) Short i=3; i=i+1; 丢失精度 ----> short 变量=short 变量  +(int)1 运算符优先级 优先级:++ 变量名  >  =  >  变量名++ 前自增的优先级比赋

C# 篇基础知识2——运算符、类型转换、流程控制、枚举、结构体和数组、函数

1.运算符.类型转换 计算某年y某月m某日d是周几的基姆拉尔森公式公式:int week = (d + 2*m + 3*(m + 1)/5 + y + y/4 - y/100 + y/400 + 1)%7; 除了算数运算符,C#还提供了大量数学函数,这些数学函数归为一类,称为Math 类,其常用函数如下表所示: 表 1?7 Math类中的常用函数 功能 函数 C#示例 数学表示 结果 乘方 Math.Pow() Math.Pow(2,3) 23 8 开方 Math.Sqrt() Math.Sqr

[.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式

[.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如三元表达式,可以让你少写N多个if和case语句. 表达式 由 操作数(operand) 和 运算符(operator) 构成 1.运算符分类和优先级   2.运算符按操作数目分类   一元运算符 -x  x++  x-- 二元运算符 x+y  x+1 三元运算符 c ? x : y 3.表达式分类

C++运算符重载——类型转换

类型转换函数能够实现把一个类 类型 转换成 基本数据类型(int.float.double.char等) 或者 另一个类 类型. 其定义形式如下,注意不能有返回值,不能有参数,只能返回要转换的数据类型. class X { public: operator TYPE() { //..... return TYPE对象; } }; 例子:将一个类转换成基本数据类型和 类类型 #include <iostream> using namespace std; class Base { public:

第一阶段 PHP基础.运算符2

一位初学php的随堂笔记,记录自己的成长! 一.运算符(Operator) 1.运算符:程序执行的运算符,要求一个以上的 操作数参加运算 表达式由运算符和操作数组成 2.运算符分类 (1)按功能分 (2)按操作数的个数分 3.按功能分 (1)算术运算符 (2)字符(连接)运算符: 连接符号 . 说明: 字符(连接)运算符结果字符类型 (3)赋值运算符: = += -= *= /= %= .= 说明:赋值运算符与运算符和操作数有关系 (4)比较运算符:> >= < <= == !=

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 逗号表达式与自增自减运算符和类型转换的规则

逗号运算符 逗号运算符优先级最低: 逗号运算符是用来分割多个表达式的: 由逗号运算符组成的逗号表达式的运算结果是:最后一个表达式的结果 注意: int i: i = 3,4,5,: 以上语句得到的i的值为3 i = (3, 4, 5); 得到的i的值为5 总结: ++i置前自增:先对i的值加1,然后用增1后的值参加所有的后续运算 i++滞后自增自减:先用变量原来的值参加所有的后续运算,直到本条语句所有的运算全部运算完毕后,才对变量值加减1 滞后自增减在条表中的特殊表现:先利用原值参与条件判断,然

js基础——运算符

爱创课堂前端培训--js基础 运算符 一.运算符 运算符(Operators,也翻译为操作符),是发起运算的最简单形式. 分类:(运算符的分类仁者见智,本课程进行一下分类.) 数学运算符(Arithmetic operators) 比较运算符(Comparison operators) 逻辑运算符(Logical operators) 赋值运算符(Assignment operators) 按位运算符(Bitwise operators) 条件 (三元) 运算符(Conditional oper

python常用命令和基础运算符

基础运算符 http://www.cnblogs.com/alex3714/articles/5465198.html 身份运算符:is is not成员运算符:in not in ##in 判断元素是否存在该队列中 存在返回Turea= "abc"print("b" in a) num += 1 等于 num = num + 1 num -= 1 等于 num = num - 1num *= 1 等于 num = num * 1num /= 1 等于 num =

小白学 Python(6):基础运算符(下)

人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变量基础操作 小白学 Python(5):基础运算符(上) 前言 上一篇文章我们介绍了算术运算符和比较运算符.本篇我们继续介绍其余的几个: 赋值运算符 逻辑运算符 成员运算符 身份运算符 赋值运算符 Python 中,使用 = 号表示赋值.当然,Python 还提供了其他赋值方式,直接帮我们简化了写法