欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaScript数据类型

程序员文章站 2022-06-04 23:00:04
...

JavaScript的数据类型(2种)

原始类型和引用类型他们的储存方式不一样,原始类型的是储存在栈里面的,

引用类型是储存在堆里面的。

1、简单数据类型(原始类型)
a、字符串(string)

用引号括起来的就是字符串,包括单双引号。

注意:双引号不能嵌套双引号,单引号也不可以嵌套单引号,但是可以交叉嵌套。

b、数值类型(Number)
var num = 123;

var num = 12.34;

也可以用其他进制表示,比如16进制等

有三个特殊值

+Infinity,正无穷大

-Infinity,负无穷大

NaN:表示不是一个数值,但是他的类型是数值类型。

isNaN()方法用于检查其参数的数值类型是否为非数值类型。

c、布尔值(boolean)

只有两个值:true(真),false(假)

d、undefiend,表示变量未赋值的默认值,也可以代表空。

D、null,空,表示对空对象的引用。

通常可以用null来清空数据。

2、复杂数据类型(引用类型)

a、对象(object),是属性和方法的集合。

判断数据类型,可以通过typeof()方法来得到。

<style type="text/css">
			.test{
				width: 200px;
				height: 200px;
				background: skyblue;
			}
		</style>
<div class="web">
			<div class="test" id="test">点击我改变颜色</div>
		</div>
		
		<script type="text/javascript">
			var onColor = true;
			//一个等号是赋值,两个等号是判断。
			document.getElementById("test").onclick = function(){
				if(onColor == true){
					document.getElementById("test").style.background = "pink";
//					onColor = false;
				}else{
					document.getElementById("test").style.background = "skyblue";
//					onColor = true;
				}
				//!表示取反,即是真取反后为假
				onColor = !onColor;
			}
	
			var str = "";
			var str1 = ' ';
			console.log(str1,typeof(str1));
			console.log(str,typeof(str));  //string
			
			var str2 = "welcome to 'guangzhou'";
			var str3 = 'welcome to "guangzhou"';
			console.log(str2);
			console.log(str3);
			
			
			var num =123;
			console.log(num,typeof(num));//number
			var num1 = "123";
			console.log(num1,typeof(num1));//string
			
			var num2 = 789;
			//+ 代表加法运算
			console.log(num+num2);//912
			//字符串拼接,加号(+)就是字符串拼接符
			console.log(num+num1);//123123
			
			var person = "英雄";
			
			console.log(num1+person+num+num2);//直接字符串拼接
			console.log(num+num2+num1+person);//先数值相加再拼接字符串
			
			document.write("我是一个"+person+"!");
			
			var good = "好";
			var friend = "女朋友";
			var go = "嘿嘿嘿";
			//document.write是识别标签
			document.write("今天天气真好,我要跟女朋友去约会!")
			
			document.write("今天天气真"+good+",<br />我要跟"+friend+"去"+go+"!")
			
			var bool = true;
			console.log(typeof(bool));//boolean
			var bool1 = "true";
			console.log(typeof(bool1));//引号引起了的都是字符串 string
			
			var age = undefined;
			console.log(typeof(age));
			var userName;
			console.log(userName);
			
			var sex = null;
			console.log(typeof(sex));//object
			console.log(sex);
			//两个等于号表示判断等于,只判断值
			console.log(undefined == null);//true
			//三个等于号表示判断全等于,即判断数值判断类型
			console.log(undefined === null);//false
			
			console.log(123 === "123");//false,数据类型不一样。
			console.log(123 == "123");//true
			
			/*
			 *十六进制由0·9和A~F表示,A~F就是代表数值10~15
			 * 通常开头为0x代表的是十六进制。
			 * 
			 * */
			var num = 0x123;
			//十六进制转化为10进制:1*16^2+2*16^1+3*16^0=291
			console.log(typeof(num),num);//number 291
			var num1 = 0x678f;
			//转换为10进制:6*16^3+7*16^2+8*16^1+15*16^0
			
			//8进制,逢8进一,通常以0开头。
			//十进制的8用八进制来代表
			
			var num2 = 010;
			console.log(num2);//8
			
			var num6 = "文字";
			//isNaN() 函数用于检查其参数是否是非数字值。
			//数字的字符串类型的变量用于判断的时候会隐式转换为数值类型。
			console.log(isNaN(num6));//true
			
			var num3 = +Infinity;//正无穷大
			var num4 = -Infinity;//负无穷大
			console.log(num3,num4);
			
			var unm5 = NaN;
			console.log(typeof(unm5));//number
			
			
			var obj = {
				name:"html",
				age:"18"
			}
			console.log(typeof(obj));//object
			
			var obj1 = obj;
			console.log(obj,obj1);
			
			var num = 123;
			var num1 = num;
			console.log(num,num1);
			num1 = 789;
			console.log(num);//123
			
			obj1.age = "28";
			console.log(obj);
		</script>

数据类型:

简单数据类型

1、字符串(string)

2、数值(number)

3、布尔值(Boolean)

4、undefined

在定义变量后未赋值的时候,JavaScript会自动给变量赋值为undefined

5.null

JavaScript有垃圾自动回收机制,在变量不需要使用的时候,系统会自动把此变量赋值为null(即清空改变量)

复杂数据类型

1、对象(object)属性和方法的集合。

语法:键值对写法,即:"键名":"键值"。

我们可以通过.(点来操作符)来访问对象上的属性或者方法

怎么来调用对象里面的方法

通过对象的方法名后面加个小括号来执行这个方法。

return用来定义函数的返回值。

2、数组(array),也是数据的集合

数组的下标是从0开始也就是***,数组长度(length)的计算是从1开始计算的。

怎么获取数组里面的数据?

获取数组长度

console.log(arr.length);

var str = “123”;

字符串也能获取其字符长度

onsole.log(str.length,str[1]);

可以通过数组名加中括号,括号里面填下标值。

3、function(函数),具有一定功能的代码块。

语法:通过关键字function来定义,如下:

函数名和参数是可选的。

function 函数名(参数){

书写功能代码区域
}
return用来定义函数的返回值,以及结束函数的执行。

定义了一个函数,就相当于生产了一台机器。

function myFun(){
alter弹窗会阻止js代码的运行

alert(“hello world!”);

return “你好”;

}

//执行函数,相当于按下机器的运作开关。

console.log(myFun());

匿名函数

不能直接定义匿名函数,需要有事件触发的时候才可以,或者是赋值给一个变量。

匿名函数只能在函数定义的后面进行调用。

具名函数无论在哪里都可以调用。

fun();调用会报错

var fun = function(){

console.log(“我是一个匿名函数”);

}
fun();

函数的参数

可以又多个,参数之间用逗号隔开

定义函数时写的参数我们称为形参

当我们要调用的函数时传入的参数称为实参

function testFun(username,age,sex){//形参

return “你好,我是”+username+",今年"+age+“岁,性别”+sex+"";

}

console.log(testFun(“小白”,10,“男”));//实参

var uName = “刘”;

document.write(testFun(uName,10,“男”));

	var obj ={
				"name" :"小芳",//前面的是键名//键值
				"age":"18",
				"skill":function(){//方法
					console.log("做菜");
//					return "我是一个方法"
					return "obj" //return返回
				}
			}
			console.log(obj.age,obj.name);
			console.log(obj.skill);//访问skill方法
			console.log(obj.skill());//执行skill方法