博客
关于我
《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配置代理解决本地html进行ajax请求接口跨域问题
查看>>
Nginx配置参数中文说明
查看>>
Nginx配置好ssl,但$_SERVER[‘HTTPS‘]取不到值
查看>>
Nginx配置实例-负载均衡实例:平均访问多台服务器
查看>>
Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
查看>>
NIFI大数据进阶_离线同步MySql数据到HDFS_02_实际操作_splitjson处理器_puthdfs处理器_querydatabasetable处理器---大数据之Nifi工作笔记0030
查看>>
NIFI大数据进阶_连接与关系_设置数据流负载均衡_设置背压_设置展现弯曲_介绍以及实际操作---大数据之Nifi工作笔记0027
查看>>
NIO ByteBuffer实现原理
查看>>
Nio ByteBuffer组件读写指针切换原理与常用方法
查看>>
NIO Selector实现原理
查看>>
nio 中channel和buffer的基本使用
查看>>
NIO基于UDP协议的网络编程
查看>>
NISP一级,NISP二级报考说明,零基础入门到精通,收藏这篇就够了
查看>>
Nitrux 3.8 发布!性能全面提升,带来非凡体验
查看>>
NI笔试——大数加法
查看>>
NLog 自定义字段 写入 oracle
查看>>
NLP 基于kashgari和BERT实现中文命名实体识别(NER)
查看>>
NLP 项目:维基百科文章爬虫和分类【01】 - 语料库阅读器
查看>>
NLP_什么是统计语言模型_条件概率的链式法则_n元统计语言模型_马尔科夫链_数据稀疏(出现了词库中没有的词)_统计语言模型的平滑策略---人工智能工作笔记0035
查看>>
NLP学习笔记:使用 Python 进行NLTK
查看>>