星空网 > 软件开发 > Java

Javascript学习笔记(三)基本概念

  本篇主要总结《Javascript高级程序设计(第三版)》第三章基本概念中的ECMAScript(以下简称ES)语言核心。

  ES推荐标识符命名采用驼峰式

  ES第五版引入了严格模式,严格模式需要在JS文件顶部或者函数内部第一行添加"use strict"这条编译指示开启。在严格模式下,很多JS中不确定的或者说不安全的操作将会报错。

  ES中变量用var跟变量名来声明,默认情况下赋值undefined。如果声明变量的同时不用var关键字的话,该变量将会被创建成为全局变量(不推荐这样做!)。ES中变量为松散类型,可以存放任意类型的值。

  ES中数据类型分为两种,一种是简单数据类型,一种是复杂数据类型。简单数据类型包括五种基本类型:Number,Boolean,String,Null和Undefined。复杂类型就一种——Object。判断一个变量是什么类型可以使用typeof操作符,注意 typeof null 返回object,因为null代表一个对象的空指针引用。还有一点,使用一个尚未定义的变量将会抛出错误,但是给定typeof一个尚未定义的变量名不会报错,会返回undefined。另外,undefined是派生自null值,所以null==undefined会返回true。

  针对Boolean类型,用的比较多的是强制转换函数Boolean(),下边有张表来总结各种数据类型的转换关系(事实上隐式转换也一样):

Boolean函数转换
数据类型转换为true的值转换为false的值
Booleantruefalse
String非空字符串""
Number非零数值,包括无穷大0和NaN
Object任何对象null
Undefined不适用undefined

  对于Number类型,此处总结一下整数转小数和小数转整数的方法:

//小数转化整数var num = 4.721;Math.floor(num);//向下取整,4Math.ceil(num);//向上取整,5Math.round(num);//四舍五入,5Math.round(num*10)/10;//保留一位小数4.7Math.round(num*100)/100;//保留两位小数4.72parseInt(num);//直接丢弃小数部分,4//整数转小数var num = 4;num.toFixed(2);//保留几位小数,注意此函数输出为字符串"4.00"

  另外对于Number类型有个特殊的值NaN(Not a number),ES中任何数值除以0不会报错误,会返回NaN值。NaN有很多特性,任何无法返回确定数值的数学操作一般都会返回NaN值。NaN与任何值都不等,包括它自己,如果进行比大小也都返回false。ES中定义了一个isNaN()的函数来判断一个值是否为NaN,在调用之前,这个函数会首先尝试把传入值转为数值。

  关于Number的强制转换有三个函数:Number(),parseInt()和parseFloat()。Number()函数有几个需要注意的转化:首先Number值都返回的是十进制的数字,Number(null) 返回0,Number(undefined)返回NaN,Number("")返回0。parseInt()函数可以指定要转换的进制数,另外需要注意以下几个情况:parseInt("")会返回NaN,parseInt("1234blue")会返回1234。对于parseFloat()也有需要注意的,比如它会忽略第二个小数点,另外它不识别进制数,所以parseFloat("0xA")返回0。

  关于布尔操作符,首先对于!操作符,!null,!NaN,!undefined都返回true。对于&&和||操作符,执行短路操作,即如果第一个操作数能够决定最终结果则不会去运算第二个操作数。

  关于相等运算符,遵循规则如果运算符两边有数字的话,那么两边都转化为数字进行比较。但是其中有个特殊情况需要注意,那就是在比较相等性的时候,null和undefined不能转换为任何值,所以null == 0返回false。

  关于语句就总结一个switch语句,该语句执行的是全等操作,比较的时候并不会执行类型转换。

  关于函数,首先没有重载,其次是函数的参数列表并非必须的,只是为了提供方便,因为函数内部有一个arguments数组来维护传入的参数,arguments只与传入的参数产生关系,与定义的参数列表无关。

  




原标题:Javascript学习笔记(三)基本概念

关键词:JavaScript

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

所有卖家都可报名?符合条件即可参加eBay大促活动!:https://www.ikjzd.com/articles/93869
汇率如此波动,外贸人该如何应对?:https://www.ikjzd.com/articles/93870
关税之战,影响几何?:https://www.ikjzd.com/articles/93871
别慌!提单丢失可以补救!:https://www.ikjzd.com/articles/93872
Wish放款日传噩耗,大批卖家因侵权ANGLE-IZER测量尺账户被冻结:https://www.ikjzd.com/articles/93875
14个反向链接检查工具,助你随时跟踪竞争对手!:https://www.ikjzd.com/articles/93876
旅游景点的打油诗 旅游景点的打油诗怎么写:https://www.vstour.cn/a/366180.html
2024深圳龙岗区文化馆免费音乐培训课程安排+报名方式:https://www.vstour.cn/a/366181.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流