博客
关于我
《JavaScript高级教程》学习笔记一、变量和数据类型
阅读量:851 次
发布时间:2019-03-17

本文共 1993 字,大约阅读时间需要 6 分钟。

JavaScript 变量与数据类型

在 JavaScript 开发过程中,变量和数据类型是开发人员最基础且频繁操作的概念之一。本文将深入探讨 JavaScript 中的变量及其数据类型特点。

1. 变量

JavaScript 是弱类型语言,其变量声明方式与其他编程语言有显著差异。变量可以通过 var 关键字声明,并且可以赋值为任意数据类型。值得注意的是,弱类型语言的优势在于灵活性,但也带来了一定的类型安全风险。

1.1 变量的声明与赋值

var 是 JavaScript 中用于声明变量的关键字。与强类型语言不同,var 不需要明确指定变量的类型。例如:

var msg = 'mdzz';  // String
var msg = 1024; // Number

此外,var 声明的变量在函数作用域内生效,而不是块作用域。

1.2 变量的默认值

如果变量未被初始化,则默认值为 undefined。可以通过如下方式显示指定:

var msg;  // msg 的值为 undefined
typeof(msg) >> "undefined"

此外,未声明的变量也会返回 undefined

2. 数据类型

JavaScript 共有 5 个基本数据类型,typeof 关键字可用于查看变量的数据类型。

2.1 Undefined

  • 只有一个值 undefined
  • 未初始化的变量或显示赋值 undefined 的变量默认值为 undefined
  • 示例:
    var msg; // msg 的值为 undefined
    typeof(msg) >> "undefined"

2.2 Null

  • 只有一个值 null
  • typeof(null) 返回 "object",需谨慎区分 null 和对象类型。

2.3 Boolean

  • 两个值:truefalse
  • 其他类型值可通过 Boolean() 转换为布尔值。转换规则如下:
    • String:非空字符串为 true,空字符串为 false
    • Number:非零数值为 true,0 和 NaNfalse
    • Object:任何对象为 truenullfalse
    • Undefinedundefinedfalse

2.4 Number

  • 可表示整数或浮点数。
  • 特殊值包括:
    • Number.MIN_VALUE(最小值)
    • Number.MAX_VALUE(最大值)
    • Infinity(正无穷)
    • -Infinity(负无穷)
    • NaN(非数值)

2.5 String

  • 用单引号 ' ' 或双引号 " " 包裹。
  • 转义字符包括 \n\t\b\r\\\'"
  • 字符串在 JavaScript 中是不可变的,拼接操作会生成新字符串。
  • toString() 方法返回字符串值(除 nullundefined 外)。

2.6 Object

  • JavaScript 对象的基础类型。
  • 每个对象实例都具有 constructorhasOwnPropertyisPrototypeOfpropertyIsEnumerabletoString()valueOf() 等方法。

3. 操作符

3.1 一元运算符

  • ++-- 递增、递减操作符。
  • +- 运算符对数字和其他类型值自动转换为数值。

3.2 位操作符

  • ~(按位非)
  • &(按位与)
  • |(按位或)
  • ^(按位异或)
  • <<>>>>>(移位操作符)

3.3 布尔操作符

  • !(逻辑非)
  • &&(逻辑与)
  • ||(逻辑或)

3.4 乘法、除法、加减法

  • 运算符对非数值操作数自动转换为数值。
  • 特殊情况:
    • Infinity 和非零数相乘返回 Infinity
    • Infinity0 相乘返回 NaN
    • NaN 与任何数运算返回 NaN

3.5 等式操作符

  • ==!=:先类型转换再比较。
  • ===!==:先类型转换再比较,并且值相等。

3.6 条件操作符

  • ? ::用于条件判断。

3.7 赋值操作符

  • =:用于赋值。

3.8 逗号操作符

  • ,:用于分隔表达式,返回最后一项值。

4. 语句

4.1 控制结构

  • ifdo-whilewhileforfor-inlabelbreakcontinuewithswitch

4.2 函数

  • 函数的基本语法:
    function functionName(parameters) {
    // 代码
    }
    functionName();
  • 函数参数可以与函数声明时的参数个数不同。
  • arguments 对象用于访问函数参数数组。

结语

通过以上内容可以看出,JavaScript 的灵活性和强大功能为开发者提供了极大的编程自由。理解和掌握这些基础知识是 JavaScript 编程的重要基础。

转载地址:http://jrsez.baihongyu.com/

你可能感兴趣的文章
Nginx配置后台网关映射路径
查看>>
nginx配置域名和ip同时访问、开放多端口
查看>>
Nginx配置好ssl,但$_SERVER[‘HTTPS‘]取不到值
查看>>
Nginx配置如何一键生成
查看>>
Nginx配置实例-负载均衡实例:平均访问多台服务器
查看>>
Nginx配置文件nginx.conf中文详解(总结)
查看>>
Nginx配置负载均衡到后台网关集群
查看>>
ngrok | 内网穿透,支持 HTTPS、国内访问、静态域名
查看>>
NHibernate学习[1]
查看>>
NHibernate异常:No persister for的解决办法
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
查看>>
NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
查看>>
NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
查看>>
NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
查看>>