javascript知识梳理之数据类型
javascript基础知识(在javascript中 = 是赋值符号)
变量
合法的变量命名规则:大小写英文、数字、 $ 和 _ 的组合,且不能用数字开头。
var a; //声明变量
var s = 2; //声明变量并赋值
javascript有 8种 数据类型:
- Number //数字
- Boolean //布尔
- String //字符串
- Array //数组
- Object //函数
- null //null
- undefined //undefined
- symbol //符号(es6新增)
Number
JavaScript 只有一种数字类型。数字可以带小数点,也可以不带
123; // 整数123
0.456; // 浮点数0.456
1.2345e3; // 科学计数法表示1.2345x1000,等同于1234.5
-99; // 负数
NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示
Infinity; // Infinity表示无限大,当数值超过了Number所能表示的最大值时,就表示为Infinity
Boolean
布尔(逻辑)只能有两个值:true 或 false
var x=true
var y=false
String
字符串是存储字符(比如 "Bill Gates")的变量。
字符串可以是引号中的任意文本。您可以使用单引号或双引号:
var answer="Nice to meet you!";
var answer="He is called 'Bill'";
var answer='He is called "Bill"';
Array
数组是一组按顺序排列的集合,集合的每个值称为元素。JavaScript的数组可以包括任意数据类型
例如:
[1, 2, 3.14, 'Hello', null, true];
上述数组包含6个元素。数组用 [] 表示,元素之间用 , 分隔。
另一种创建数组的方法是通过Array()
函数实现:
new Array(1, 2, 3); // 创建了数组[1, 2, 3]
然而,出于代码的可读性考虑,强烈建议直接使用 [] 。
数组的元素可以通过索引来访问。请注意,索引的起始值为0
:
var arr = [1, 2, 3.14, 'Hello', null, true];
arr[0]; // 返回索引为0的元素,即1
arr[5]; // 返回索引为5的元素,即true
arr[6]; // 索引超出了范围,返回undefined
Object
JavaScript的对象是一组由键-值组成的无序集合,例如:
var person = {
name: 'Bob',
age: 20,
tags: ['js', 'web', 'mobile'],
city: 'Beijing',
hasCar: true,
zipcode: null
};
JavaScript对象的 键(key) 都是字符串类型,值可以是任意数据类型。上述 person 对象一共定义了6个键值对,其中每个键又称为对象的属性,例如: person的name属性为'Bob',zipcode属性为null。
要获取一个对象的属性,我们用 对象变量.属性名 或者 对象变量[属性名] 的方式:
person.name; // 'Bob'
person["name"]; // 'Bob'
null和undefined
null 表示一个“空”的值,它和 0 以及空字符串 '' 不同, 0 是一个数值, '' 表示长度为 0 的字符串,而 null 表示“空”。
在其他语言中,也有类似JavaScript的null
的表示,例如Java也用null
,Swift用nil
,Python用None
表示。但是,在JavaScript中,还有一个和null
类似的undefined
,它表示“未定义”。
JavaScript的设计者希望用 null 表示一个空的值,而 undefined 表示值未定义。事实证明,区分两者的意义不大。大多数情况下,我们都应该用 null 。 undefined 仅仅在判断函数参数是否传递的情况下有用。
最新文章
- Nova PhoneGap框架 第二章 理解index.html
- Ubuntu 登录锐捷 网卡被禁用 网口灯不亮解决
- python 线程之threading(五)
- (转) 读取xml文件转成List<;T>;对象的两种方法
- Linux下修改MySQL编码的方法
- 新安装ubuntu后几项配置
- node配置运行环境变量;
- poj1935(树形dp)
- LINUX 笔记-MOUNT
- PAT1041: Be Unique
- java基础(七)-----深入剖析Java中的装箱和拆箱
- Linux-高可用Keepalived概念篇
- C# 中ref与out关键字区别
- python call so
- TensorFlow:tf.nn.max_pool实现池化操作
- 微信小程序实现滚动分页加载更多
- 如何使用阿里巴巴iconfont矢量图片
- MT【182】系数奇怪的二次函数
- 【AI科技大本营】
- Java 中的 protected 访问修饰符你真的了解吗?
热门文章
- redis的持久化(RDB与AOF)
- Edge浏览器现已支持Tampermonkey(油猴)
- CentOS7.5搭建ES6.2.4集群与简单测试
- 贪吃蛇游戏(printf输出C语言版本)
- cb14a_c++_顺序容器的操作7_赋值与交换(swap)_vector转list
- cron计划任务
- Quartz.Net系列(七):Trigger之SimpleScheduleBuilder详解
- npm: no such file or directory, scandir '.../node_modules/node-sass/vendor'
- java中“”==“” equals hashcode的关系
- springboot @Cacheable 基本使用