JavaScript 数据类型

JavaScript 数据类型

JavaScript有以下几种类型:字符串(String)、数字(Number)、布尔(Boolean)、数组(Array)、对象(Object)、空(Null)、未定义(Undefined)。

JavaScript 拥有动态类型

JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型:

var x;               // x 为 undefined
var x = 5;           // 现在 x 为数字
var x = "John";      // 现在 x 为字符串

JavaScript 字符串

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

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

var carname="Volvo XC60";
var carname='Volvo XC60';

可以在字符串中使用引号,只要不匹配包围字符串的引号即可:

var answer="It's alright";
var answer="He is called 'Johnny'";
var answer='He is called "Johnny"';

JavaScript 数字

JavaScript 只有一种数字类型。数字可以带小数点,也可以不带:

var x1=34.00;      // 使用小数点来写
var x2=34;         // 不使用小数点来写

极大或极小的数字可以通过科学(指数)计数法来书写:

var y=123e5;      // 12300000
var z=123e-5;     // 0.00123

JavaScript 布尔

布尔(逻辑)只能有两个值:true 或 false。

 var x=true;
 var y=false;

JavaScript 数组

创建数组

 var cars=new Array();
 cars[0]="Saab";
 cars[1]="Volvo";
 cars[2]="BMW";
 var cars=new Array("Saab","Volvo","BMW");
var cars=["Saab","Volvo","BMW"];

数组下标是基于零的,所以第一个项目是 [0],第二个是 [1],以此类推。

JavaScript 对象

对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:

 var person={firstname:"John", lastname:"Doe", id:5566};

上面例子中的对象 (person) 有三个属性:firstname、lastname 以及 id。

空格和折行无关紧要。声明可横跨多行:

 var person={
 firstname : "John",
 lastname  : "Doe",
 id        :  5566
 };

对象属性有两种寻址方式:

name=person.lastname;
name=person["lastname"];

Undefined 和 Null

Undefined 这个值表示变量不含有值。

可以通过将变量的值设置为 null 来清空变量。

cars=null;
person=null;

声明变量类型

当您声明新变量时,可以使用关键词 "new" 来声明其类型:

 var carname=new String;
 var x=      new Number;
 var y=      new Boolean;
 var cars=   new Array;
 var person= new Object;

JavaScript 变量均为对象。当您声明一个变量时,就创建了一个新的对象。

提示:JavaScript具有隐含的全局概念,意味着你不声明的任何变量都会成为一个全局对象属性。

案例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		
		<script type="text/javascript">
			//var
			// var username;
			// var password="123456";
			// console.log(username,password)
			//修改值
			// username = "cali"
			// password = 123456;
			// console.log(username,password);
			
			//const 在声明的时候必须给一个初始值
			// const username;
			const username = "root";
			const password = "123456";
			console.log(username,password)
			//不能重新赋值
			// username = "cali";
			console.log(username,password)
			
			//基本的数据类型
			//布尔 --》逻辑值 true,false
			var flag = true;
			console.log(flag,typeof(flag));
			flag = false;
			console.log(flag,typeof(flag));
			
			//number --》数字型 :整数和小数
			var num = 1;
			console.log(num,typeof(num));
			num = 1.1;
			console.log(num,typeof(num1));
			
			//数字的四则运算
			console.log(num/10,num*10,num+10,num-10)
			// 1.1 + 10 -> 1.110 字符串的拼接
			console.log(num+'10')
			//数字的比较运算 --》布尔值 --》true,false
			console.log(num>10,num==10)
			// = 赋值  == 比较的是值  ===比较的是值和类型
			console.log(num=='1.1',num==='1.1')
			
			//字符串类型
			var s1 = "Volvo";
			var s2 = "Volvo",s3 = "Volvo"
			console.log(s1,typeof(s1),s2,typeof(s2))
			//字符串的操作
			//字符串的拼接
			console.log(s1+s2)
			console.log("length查看字符串的长度:",s1.length);
			//下标从0开始
			console.log("charAt(2)查看指定下标的字符:",s1.charAt(2));
			console.log("查看指定下标的字符:",s1[2]);
			
			//查找字符串
			//indexOf 第一次出现的位置的下标值
			var s4 = "I am a teacher. You are students. I am happy";
			console.log("查找am:",s4.indexOf("am"));
			console.log("查找am:",s4.indexOf("am",5));
			//split
			console.log("分割字符串:",s4.split(" "));
			
			//undefined
			var u;
			console.log("u:",u,typeof(u));
			function test1(){}
			console.log("function:",test1());
			console.log("no var:",typeof(aa));
			console.log("不存在的属性:",s1.length0);
			
			//数据类型的转换
			console.log(111+"10");
			console.log(111+Number("10"));
			
			console.log(111+10);
			console.log(String(111)+String(10));
			
			//false 对象的值表示没有:0,0.0,"",[]
			//false,true,false
			console.log(Boolean(0),Boolean('0'),Boolean(""));
			console.log(Boolean(" "));
			
			//Object -->Array,Dict
			//Array
			var array = ['a','b','c','d'];
			console.log(array,typeof(array));
			console.log(array.toString(),typeof(array.toString()));
			console.log(String(array),typeof(String(array)));
			//取值
			console.log(array[1]);
			
			var s5 = String(array);
			// s5 --> array
			console.log(s5.split(','));
			//array,string?
			console.log(s5);
			// 有一些函数执行完可能会修改对象本身,有一些函数将结果返回
			
			//Dict
			var dict = {"kb":"科比"};
			console.log(dict,typeof(dict));
			console.log(dict["kb"],dict.kb);
			//能转,但结果不理想 [object object]
			console.log(dict.toString());
			console.log(String(dict));
			
		</script>
	</head>
	<body>
	</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韩未零

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值