JS笔记1.1--基本数据类型和基本数据类型转换

1.JS的三种输出语句 

1.js三种输出语句
alert("这是我的第一行JS代码!");  # alert控制浏览器弹出警告框
document.write("你猜");   # document.write() 向body中写入内容,在页面中显示
console.log("你猜我猜不猜"); # console.log 在控制台中输出内容(浏览器启用开发者模式)

2.JS语句的编写位置 

<body>
	<!--JS代码可以在onclick属性中使用,当点击按钮时执行onclick中的语法-->
	<button onClick="alert('讨厌,你点我干嘛')">戳我</button>
	<!--JS代码可以写在超链接中的href属性中,当点击超链接时执行-->
	<a href="javascript:alert('讨厌,别点我')">你也点我一下</a>
</body>

虽然可以将JS语句写在标签的属性中,但是这样属于结构和行为耦合,不便于维护,不推荐。

1.<!--将JS代码写在script标签中-->
<script type="text/javascript">
	
	alert("我是script标签中的语法");
	
</script>


2.<!--将JS代码写在外部JS文件中,可以在不同的页面中同时引用相同的JS文件,然后通过script标签引入-->
<script type="text/javascript" src="Untitled-3.js">
	
	alert("我是内部的script代码");
	/*
	   本条语句不会执行,因为在引入外部JS文件的script语句中,智能执行外部JS文件中的代码。
	*/
	
</script>

3.JS基本语法

<script>
	
	/*
	  JS多行注释
	*/
	
	// 单行注释
	
	/*JS严格区分大小写
	 *每条语句以“分号”结尾
	 *忽略多个缩进和换行
	 */
</script>

4.字面量和变量

<script>
	
/*
	*1.字面量:不可改变,可直接使用 如alert(123)
              通过字面量创建的都是常量,不能被修改
	*2.变量:可以改变,可以保存字面量,更加方便使用
	*在开发中通过变量保存字面量,而不会直接使用字面量
*/
	//声明变量:使用var关键字来声明一个变量 
	var a;
	//变量赋值:
	a = 1;
	//声明和赋值同时进行 
	var a = 1;

</script>

5.标识符

自主命名的都属于标识符(函数名,变量名等),不能以字母开头,可以由数字、字母,_和$ 组成,不能是关键字或保留字。

一般使用驼峰命名法:首字母小写,其他字母的开头字母大写,其余字母小写。如helloWorld

6.字符串

JS中的六种数据类型:String 字符串 Number 数值 Boolean 布尔值 Null 空值 Undefined 未定义 (基本数据类型)

基本数据类型:没有属性和方法

之所以能够访问基本数据类型的属性和方法, 是因为
在运行的时候系统自动将基本数据类型包装成了对象类型 

Object 对象(引用数据类型)

<script>
	
//字符串 不加引号是变量名,加引号是变量值(双引号或者单引号均可)
	var str = "hello";
	console.log(str);
//可以使用\ 作为转义字符  \" 表示 "       \' 表示 '       \n 换行     \\表示\
	var str1 = "我说:\"今天\n天气真不错!\"";
	alert(str1);
</script>

7. 数值类型Number

typeof 检查变量类型 语法: typeof 变量 

<script>
	console.log(Number.MAX_VALUE); //JS中能保存的最大值 1.7976931348623157e+308
	//如果number超过最大值,返回infinity(正无穷)
	//NaN 表示 Not a Number 
</script>

使用JS进行整数运算,结果精确。但进行浮点数运算,可能会出错。不要在JS中进行精确的算术计算。

8. Null 和 Undefined 

Null类型的值只有一个,就是null。专门表示一个为空的对象(boject类型)

Undefined 未定义 undefined 在变量声明但还没有赋值时,或者某个变量未声明时,该变量的值就是undefined。

9. 数据类型转换

主要指将其他数据类型转换成String Number Boolean

9.1 将其他数据类型转换为String

<script>
	/*
	*1. 调用被转换数据的toString()方法,该方法不会改变原变量,而是将转换后的结果返回
	*  null和undefined没有toString()方法
	* 调用xxx的yyy方法,就是xxx.yyy()
	*/	var a = 123;
	console.log(typeof a);
	var b = a.toString(); //将转化后的字符串变量赋给一个新的变量
	console.log(typeof b);
	a = a.toString();
	console.log(typeof a); //将原变量转换成字符串
	
	
	/*
	*2. 调用String()函数,将被转换的数据作为参数传递给该函数
	*  将null转换为字符串"null", 将undefined转换为字符串"undefined"
	*/
	var a = 123;
	a = String(a); //调用String函数,将a转换为字符串
	console.log(typeof a);
	var b = null;
	b = String(b);
	console.log(typeof b); //null可以用String()函数转换
	var c = undefined;
	c = String(c);
	console.log(typeof c); //undefind可以用String()函数转换
	
</script>

9.2 将其他数据类型转换为Number

<script>
/* 1. 调用Number()函数
*      将字符串 --> 数值型 : 
              纯数字类型,直接转换为数字;
              若字符串中含有非数字类型的字符,转换为NaN; 
              空字符串或“ ”(全是空格),转换为0

        将布尔型 --> 数值型:true转换为1,false转换为0  
	将null --> 数值型: 0
	将undefined --> 数值型: null
*/
	var a = "123";  //将纯数字类型的字符串转换为数值型
	console.log(typeof a);
	a = Number(a); //调用函数,要传参数;调用某个方法,方法名后加(),不需要传参数
	console.log(typeof a);
	
	var b = "abc";  //将含有非数值型的字符串转换为数值型
	b = Number(b);
	console.log(b); //输出是NaN
	console.log(typeof b); //将非数字类型的字符串转换为Number,输出的Number为NaN
	
	var c = "  ";   //将全是空格的字符串转换为数值型
	c = Number(c);
	console.log(c); //输出是0
	console.log(typeof c);

        var d = true;   //将布尔型转换为数值型,true转换为1,false转换为0
	d = Number(d);
	console.log(d); //输出是1
	console.log(typeof d);
</script>
	
<script>
/* parseInt()函数:专门针对将字符串转换为数值型,忽略字符串中第一个非数值类型的元素后的所有元素,只保留数值型的数据。
 * 对非String类型的数据,现将其转换为String再处理。如布尔型true,输出结果是NaN
 * parseFloat()函数:保留第一个小数点及其之后的数值型元素
*/	
	var a = "120px";
	a = parseInt(a);
	console.log(a); //输出是120
	
	var b = "120a230b";
	b = parseInt(b);
	console.log(b); //忽略第一个非数值型元素“a”之后的所有元素,输出结果是120

	var c = "a120b120";
	c = parseInt(c);
	console.log(c); //第一个元素就是非数值型,输出是NaN
	
	var d = "120.123px";
	d = parseInt(d);
	console.log(d); //小数点及其之后的元素被忽略,输出是120
	
	var e = "120.123px";
	e = parseFloat(e);
	console.log(e); //保留小数点后的数值型元素,输出是120.123
	
	var f = "120.1.2.3.px";
	f = parseFloat(f);
	console.log(f); //只保留第一个小数点之后的元素,输出是120.1
</script>
	

9.3 其他进制的数字

16进制数字,以0x开头。

8进制数字,以0开头。

2进制数字,以0b开头。

<script type="text/javascript">
	var a = "0xff";
	a = parseInt(a,16); //16表示按照16进制解析
	console.log(a); //输出结果是10进制 255
</script>

9.4 将其他数据类型转换为Boolean

	<script type="text/javascript">
	/* 1.使用Boolean()函数,将其他类型的数据转换为Boolean
	*  数值型:非0转换为true, 0和NaN 转换为false
	*  Infinity --> true
	*  null和undefined --> false
	*  字符串型:空串-->false,其他都是true
        *  对象 --> true
2. 使用 !! 将其他类型的数据转换成布尔型 
第一个'!'将值转换成布尔值并取其值的非值,第二个'!'将其布尔值还原,类似于“负负得正”的道理
	*/
        var a = "123";
	a = Boolean(a);
	console.log(typeof a);
	console.log(a);//输出为true
	
	var b = 0;
	b = Boolean(b);
	console.log(b);//输出为false
	
	var c = Infinity;
	c = Boolean(c);
	console.log(c);//输出为true

	var d = null;
	d = Boolean(d);
	console.log(d); //输出为false
	
	var e = "false";
	e = Boolean(e);
	console.log(e); //输出是true
	
	var f = "";
	f = Boolean(f);
	console.log(f); //输出是false
	
	</script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值