JS数据类型

JavaScript数据类型分为以下几种:
  • 字符串(String)
  • 数值(Number)
  • 布尔(Boolean)
  • 数组(Array)
  • 对象(Object)
  • (Null)
  • 未定义(Undefined)
  • 函数
  • 其他

原始数据(基本数据)类型:

对象(复杂数据)类型:

 

 1.1 字符串(String

字符串是存储字符(比如 "Bill Gates")的变量。

字符串可以是引号中的任意文本。可以使用单引号或双引号;

变量字符串:如:var text="js教程"

可以使用"+"进行字符串的连接。

:字符串类型可以和任何类型做+运算;

字符串字面量 "JavaScript"

转义符 我是一个 " 正直 " 的人
JavaScript 中常用的转义字符 (转义就是转变原有的意思)
  • 字符串长度
length 属性用来获取字符串的长度。

 

var str = 'Hello World';
console.log(str.length);
  • 字符串拼接
字符串拼接使用 + 连接。
console.log(11 + 11);
console.log('hello' + ' world');
console.log('100' + '100');
console.log('11' + 11);
console.log('male:' + true);
1. 两边只要有一个是字符串,那么 + 就是字符串拼接功能。
2. 两边如果都是数字,那么就是算术功能。

1.2 数值(Number

JavaScript 只有一种数值类型。数值可以带小数点,也可以不带。极大或极小的数字可以通过科学(指数)计数法来书写:3e4
数值可以通过运算符进行计算。
浮点数值的最高精度是 16 位小数,但是在进行算术计算时其精度远远不如整数。例如, 0.1 0.2 的结果 不是0.3 , 而是 0.30000000000000004 。这个舍入误差会导致无法测试特定的浮点数值。
数字可以写成十进制、八进制、十六进制。
  • 八进制在js中表示是第一位一定要是0,后面就是八进制字数序列(0~7
  • 十六进制字面量前两位必须是0x,后面跟十六进制数字(0~9A~F)。字母A~F不区分大小写。
温馨提示: 科学(指数)计数法、八进制、十六进制表示的数字在输出时统统会转换成十进制。
  • 数值字面量:数值的固定值的表示法
  • 进制
  • 浮点数
  • 数值范围
  • 数值判断

1.3 布尔(Boolean

Boolean (布尔)类型用于表示真假.
Boolean 类型仅包含两个值: true false:
  • 就两个值,一个是true,一个falsetrue表示真 false表示假
  • 前面,讲的stringnumber数据类型,对应的值有无数个
  • 使用关系运算符运算的结果,就是布尔数据类型
计算机内部存储: true 1 false 0

1.4 数组(Array

1.4.1 数组的概念

所谓数组,就是将多个元素(通常是同一类型)按一定顺序排列放到一个集合中,那么这个集合我们就称之为数组。

1.4.2 数组的定义及使用

数组是一个有序的列表,可以在数组中存放任意的数据,并且数组的长度可以动态的调整。
使用关键字 new 创建或 []
创建数组的方式:         
  • var 数组名=[数组值......N];
  • var 数组名= new Array(1......N);
  • var 数组名= new Array();
可以通过数组的下标来访问数组的元素:
  • 数组元素的顺序从0开始:数组名[0]=;
  • 数组名[1]=;
/**
JavaScript数组的创建方式:
1. 构造函数创建
var 数组名 = new Array(); -- 得到一个空数组
var 数组名 = new Array(数组); -- 创建指定长度的数组
var 数组名 = new Array(值1,值2,值3...) 创建数组并赋予值
2. 快捷创建
var 数组名 = [];
var 数组名 = [值1,值2,值3....];
JavaScript数组的属性:
length属性 用来获取数组的长度
JavaScript数组的特点:
JS数组可以存储任意数据类型
JS数组自动扩容,不是固定长度
注意事项:
当JS变量只有声明没有赋值的时候,去调用,那么undefined
当JS根本没有这个变量的时候,去调用,那么报错 arr is not defined
*/
var arr1 = new Array();
document.write("数组1的长度为:" + arr1.length + "<br>");
var arr2 = new Array(5);
document.write("数组2的长度为:" + arr2.length + "<br>");
//给数组存储数据: 通过下标来存储数据
//语法: 数组名[下标] = 值;
arr2[0] = 10;
arr2[1] = 20;
arr2[2] = 30;
arr2[3] = 40;
arr2[4] = 50;
arr2[10] = 100;
//调用数组里面的值
//语法: 数组名[下标]
document.write("下标1的值是:" + arr2[1] + "<br>");
document.write("下标20的值是:" + arr2[20] + "<br>");
document.write("数组2的长度为:" + arr2.length + "<br>");
var arr3 = new Array(5,"Hello",true,44.22);
document.write("数组3的长度为:" + arr3.length + "<br>");
var arr4 = []; //创建一个空数组 类似于 new Array();
var arr5 = [1,3,5,7]; //创建数组并赋值
var arr6 = [7];
document.write("数组6的长度为:" + arr6.length + "<br>");
// 补充 :数组 的长度 可以动态改变
var scores = []; // 空数组
console.log(scores.length);
// 清空数组
scores.length = 0;
console.log(scores);

1.4.3 遍历数组

遍历:遍及所有,对数组的每一个元素都访问一次就叫遍历。

数组遍历的基本语法:
for(var i = 0; i < arr.length; i++) {
// 数组遍历的固定结构
}


// 获取数组中的每一项,并打印(遍历数组)
var names = ['zs', 'ls', 'ww', 'zl'];
for (var i = 0; i < names.length; i++) {
console.log(names[i]);
}

//遍历数组 先打印最后一项 长度 - 1 长度 - 2
var names = ['zs', 'ls', 'ww', 'zl'];
for (var i = names.length - 1; i >= 0; i--) {
console.log(names[i]);
}

for(var index in arr){
console.log(arr[index])
}

1.4.4 数组中新增元素

数组的赋值:
// 格式:数组名[下标/索引] = 值;
// 如果下标有对应的值,会把原来的值覆盖,如果下标不存在,会给数组新增一个元素。
var arr = ["red", "green", "blue"];

// 把red替换成了yellow
arr[0] = "yellow";


// 给数组新增加了一个pink的值
arr[3] = "pink";

1.5 对象类型(Object

Object 类型是一个特殊的类型,我们通常把它称为引用类型或者复杂类型 :
  • 其他的数据类型我们通常称之为原始类型,因为它们的值质保函一个单独的内容(字符串、数字或者其他);
  • Object往往可以表示一组数据,是其他数据的一个集合;
  • JavaScript中我们可以使用 花括号{} 的方式来表示一个对象;
  • Object是对象的意思,后续我们会专门讲解面向对象的概念等;
对象由花括号定义。对象有属性和方法组成。
在括号内部,无论是对象的属性还是方法都是以键和值对的形式 (key: value) 来定义。
多个属性或方法由逗号分隔。
例如:
var person1 = {
id:1001,
name:"张三",
age:12,
eat:function(){
alert("吃饭的行为");
},
sleep:function(){
alert("睡觉的行为");
}
}
  • Javascript中,所有的对象都继承自Object对象。
  • 对象没有赋值的属性,该属性的值为undefined
  • 对象的方法是函数,后面会详解
对象属性有两种寻址方式:
对象名 . 属性名
对象名 [" 属性名 "]

可以使用以下语法访问对象方法:

objectName.methodName() 

1.6 空(Null

Null 也是一个只有一个值的数据类型,它的值就是 null ,任何变量只要给其赋值为 null 的话这个变量的数据类型就是Null 类型。
可以通过将变量的值设置为 null 来清空变量

1.7 未定义(Undefined

这个值表示变量不含有值或未声明。
它的值只有一个,那就是 undefined
在声明变量时如果没有将变量赋值的话这个变量也是属于 Undefined 类型的。
如果一个变量没有声明就直接去访问解释器会报错误信息,但是这样的变量如果使用 typeof 返回的结果也是"undefined"

 NullUndefined的区别:

  • Null 已定义,并初始化为null
  • Undefined:未定义,或者未初始化 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值