栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JavaScript入门(三):运算符与流程控制语句

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaScript入门(三):运算符与流程控制语句

Javascript 基础系列

Javascript入门(一):概念和发展
Javascript入门(二):引入方式、数据类型和变量
Javascript入门(三):运算符与流程控制语句
Javascript入门(四):基本对象
Javascript入门(终):简单的DOM和事件案例

文章目录

Javascript 基础系列

前言1. Javascript 常用运算符

一元运算符算数运算符比较运算符逻辑运算符运算数类型的自动转换

不同逻辑运算符返回值的区别 三元运算符 2. 流程控制语句3. Javascript 变量特殊语法参考

前言

续接前文,我们继续讲 Javascript 中 ECMAscript 的部分,这节主要讲 Javascript 中的运算符与流程控制语句的用法。

1. Javascript 常用运算符 一元运算符

自增运算符 ++ ,自减运算符--和Java相同。

var i = 1 
document.write(i + "
"); //i 值为 1 i++ document.write(i + "
"); //自增一次 i 值变为 2。

正负号:+(-)。正负号只有数据类型为数字 number 类型时才有意义,如果将正负号运算符放在非number数据类型之前,则需要进行类型转换。

一些类型转 number 的介绍:

string 转 number:按照字面值转换,如果字面值不是数字,则转为 NaN。如字符串 “123” 转为 123 ,字符串 “123ab” 则转为 NaN。boolean 转 number:true 值转为 1 ,false 转为 0 算数运算符

和 Java一样,Javascript 的算数运算符的用法基本相同:

算数运算符加: +算数运算符减: -算数运算符乘: *算数运算符除: /。这里注意,在 Javascript 中,由于 number 数据类型可以表示为整数以及小数,所以在执行除法时结果会有小数。如 5/2,结果为2.5。算数运算符取余: % 比较运算符

在 Javascript 中,比较运算符的类型和其他语言差不多,它们分别是:

比较运算符大于&大于等于:> >=比较运算符小于&小于等于:< <=比较运算符等于:==比较运算符不等于:!=比较运算符全等于:===

比较运算符的类型和其他语言差不多,不过要注意 Javascript 中特有的===全等于比较运算符,稍后我们会给到解释。现在我们先来介绍一下在 Javascript 中运算符作用的两种情况:

    比较的数据类型相同:直接比较。

    这里就不过多解释了,直接上示例:

        
    

    结果:

    false
    true
    true
    true
    false
    true
    

    比较的数据类型不同:先进行类型转换,在进行比较。

    同样给出示例:

    
    

    结果:

    true
    false
    false
    
逻辑运算符

Javascript 中的逻辑运算符类型:

逻辑运算符与: & ,短路 &&。逻辑运算符或:|,短路 ||。逻辑运算符非:!。 运算数类型的自动转换

在 Java 中,逻辑运算符两边的数据类型必须为 boolean 类型才能进行逻辑运算,例如:

				//可以,a>b 和 ab) && (a 

而在 Javascript 中,逻辑运算符两边的数据类型可以不仅限于boolean类型;在进行运算时,如果某个运算数不是 boolean 类型,运算数则会参照下表规则转为相应的 boolean 类型:

运算数类型结果
Undefinedfalse
Nullfalse
Boolean结果等于输入的参数(不转换)
Number如果参数为 +0, -0 或 NaN,则结果为 false;否则为 true。
String如果参数为空字符串,则结果为 false;否则为 true。
Objecttrue

示例:



结果:

false
false
false
false
true
false
true
true
false
不同逻辑运算符返回值的区别

不同于 Java,在 Javascript 中,只有逻辑运算符 ! 返回值才一定是 boolean 类型。逻辑运算符&& 和 ||运算符并不一定返回 boolean 类型的值,而是会返回一个指定操作数的值。

逻辑运算符!的规则如下:

如果运算数是对象,返回 false如果运算数是数字 0,返回 true如果运算数是 0 以外的任何数字,返回 false如果运算数是 null,返回 true如果运算数是 NaN,返回 true如果运算数是 undefined,发生错误

逻辑运算符&&的规则如下:

如果一个运算数是对象,另一个是 Boolean 值,返回该对象。如果两个运算数都是对象,返回第二个对象。如果某个运算数是 null,返回 null。如果某个运算数是 NaN,返回 NaN。如果某个运算数是 undefined,发生错误。

逻辑运算符||的规则如下:

如果一个运算数是对象,并且该对象左边的运算数值均为 false,则返回该对象。如果两个运算数都是对象,返回第一个对象。如果最后一个运算数是 null,并且其他运算数值均为 false,则返回 null。如果最后一个运算数是 NaN,并且其他运算数值均为 false,则返回 NaN。如果某个运算数是 undefined,发生错误。

但是,尽管 && 和 || 运算符能够返回非布尔值的操作数, 但它们依然可以被看作是布尔操作符,因为它们的返回值总是能够被转换为布尔值。如果要显式地将它们的返回值(或者表达式)转换为布尔值,请使用双重非运算符(即!!)或者 Boolean 构造函数。

三元运算符

语法格式:

表达式 ? 值1:值2

例子:


结果:

6
2. 流程控制语句

共有以下五种:

if…elseswitchwhiledo…whilefor

特别注意这里的 switch 语句,在 Java 中,switch 语句可以接受的数据类型是有限制的:byte、int、short、char、enum(jdk1.5)、String(jdk1.7)。而在 Javascript 中,switch 可以接受任意的原始数据类型(number、string、boolean…)。

一个简单的例子:



除 switch 外,Javascript 中其余的流程控制语句和 Java 并无区别,这里就不再细述。

3. Javascript 变量特殊语法

    在一行 Javascript 语句的结尾;可以被省略。(不建议省略)如:

    var a = 3
    var b = 4
    

    var a = 3;
    var b = 4;
    

    两种声明效果相同,也就是 Javascript 中,换行符以及分号都能判断一行语句的结束。

    变量的定义使用 var关键字,也可以不使用(不建议不使用)。两者的作用域不一样。

    使用var 关键字定义的变量为局部变量,不使用 var关键字定义的变量为全局变量。

    注意: 在最新的 ECMAscript 6 (简称 ES6) 中,关键字 let、const被引入用来定义变量。其中 let 可定义普通变量,和 var 的区别仅仅在于其拥有 变量作用域;而const 则用来定义常量,定义之后数据不可改变。更多细节可参考:

    ES6 let 与 const | 菜鸟教程 (runoob.com)

    let 和 const 命令 - ECMAscript 6入门 (ruanyifeng.com)

    var 的用法请看下面的例子:

    
    
    

    输出:

    6
    

    在函数体内用var关键字定义的变量a作用域为函数体内,在函数外无法使用;而不使用var关键字定义的变量b 可以在函数体外使用。

参考

let 和 const 命令 - ECMAscript 6入门 (ruanyifeng.com)

Javascript 教程 | 菜鸟教程 (runoob.com)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/716730.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号