JavaScript详解(3.变量和数据类型)

╰+攻爆jí腚メ 2023-06-30 15:57 31阅读 0赞

文章目录

  • 一,基本数据类型
  • 二,变量的声明
  • 三,相关数据类型说明

一,基本数据类型

  1. undefined未定义 (声明了变量但从未赋值 )
  2. null空 (赋值为null)
  3. boolean布尔型 (true,false)
  4. 字符串string (单引号、双引号均可)
  5. 数值number 包括整数和小数,NaN(Not a Number),Infinity, -Infinity
  6. 对象object

二,变量的声明

JavaScript 是一种弱类型的脚本语言。

变量的声明(变量使用之前必须加var声明,编程规范)

可以通过var关键字来声明一个变量

典型声明方式:

  1. var a=1;
  2. var a, b=2, c;
  3. var date = new Date();
  4. var array = new Array(); //声明数组

不能使用未经声明的变量。

全局变量

  • 在方法外部声明的变量
  • 方法内部,没有加var关键字声明的变量

局部变量

  • 方法内部,使用var声明的变量

补充:

Javascript:void(0); 用于超链接

Javascript伪协议

  1. 1. <script>
  2. 2. var a = 1; //全局变量,页面被加载时就执行!
  3. 3. function test1(){
  4. 4. var b = 3; //局部变量!
  5. 5. c = 4; //执行完方法test1后就被解释成全局变量!
  6. 6. }
  7. 7. function test2(){
  8. 8. alert(a);
  9. 9. alert(c); //先执行test1,再执行test2才能看到c的值!
  10. 10. alert(b);
  11. 11. }
  12. 12.</script>
  13. <input type=button value=测试javascript伪协议 2.onclick="javascript:var a=3;alert(a);alert('a+3='+(a+3));" />

变量的命名规则

  1. 变量命名必须以英文字母或是下标符号”_”或者”$”为开头。
  2. 变量名长度不能超过15个字符。
  3. 变量名中不允许使用空格。
  4. 不能使用脚本语言中保留的关键字及保留符号作为变量名。例如:var、*等。
  5. 变量名区分大小写。(javascript是区分大小写的语言)

三,相关数据类型说明

1.Undefined类型

Undefined类型只有一个值,即特殊的undefined.

在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined。

undefined 表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性.

当试图访问一个不存在的变量时,就会得到一个特殊值:undefined。

使用一个未初始化的变量也会如此。因为js会自动将变量在初始化之前的值设定为undefined.

var userName; //这个变量声明之后默认取得了undefined值

alert(typeof userName); // undefined;

alert(typeof passWord);//undefined;

2.Null类型

只有一个值null,使用typeof检测时会返回object

如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null而不是其他值。

实际上,undefined值是派生自null值 即 null==undefined;

尽管null和undefined有这样的关系,但它们的用途完全不同.无论在什么情况下,都没有必要把一个变量的值显式地设置为undefined,在可以设置成null,只要意在保存对象的变量还没有真正保存对象,就应该明确地让该变量保存null值。

3.Boolean类型

该类型只有两个值true和false

Boolean()函数 将任何数据类型的值都转换成Boolean值

String类型 任何非空字符串返回true,” “空字符串返回false

Number类型 任何非零数字值返回true,0和NaN返回false

Undefined 返回false

案例:

var str =“字符串自动在if中转Boolean”;//当字符串不为空Boolean(str)返回true

if(str){
alert(“可以进入语句块”);
}

字符串自动转成对应的Boolean值,由于存在这种自动执行的Boolean转换,因此要清楚的知道在流程控制语句中使用的是什么变量很重要

4.Number类型

用来表示整数和浮点数值(指的是双精度数值).

数据格式可以是:十进制,八进制,十六进制 整数

数值的范围

Number.MAX_VALUE 获取数值类型的最大值

Number.MIN_VALUE 获取数值类型的最小值

如果超出数值范围则显示Infinity 无穷大或者-Infinity 负无穷大

Infinity 是一个特殊值,它表示的是超出了js处理范围的数值,但Infinity依然是一个数字。

console.log(Infinity-Infinity); //NaN 这个是控制器的日志输出

console.log(-Infinity+Infinity);//NaN

正负Infinity相加不是0而是一个NaN,Infinity与其他的任何操作数执行任何算术运算的结果都是Infinity或者-Infinity

isNaN()函数,可以接受一个参数,该参数可以是任何类型,而函数会帮我们确定这个参数是否“不是数值”。

isNaN()在接收到一个值之后,会尝试将这个值转换为数值.

浮点数值:该数值中必须包含一个小数点,并且小数点后面必须至少有一位数字。

由于保存浮点数值需要的内存空间是保存整数值的两倍,js会不留余地的将浮点数值转换为整数值。当小数点后面没有跟任何数字,那么这个数值就可以整数值.

案例:

var a = 10.;

var b = 10.00;

document.write(a+”
“);//10

document.write(b+”
“); //10

var a = 0.1;

var b = 0.2;

document.write(a+b);//0.30000000000000004

浮点数值的最高精度是17位小数,但在进行算术计算时其精确度远远不如整数.测试特定的浮点数值时会存在误差,即永远不要测试某个特定的浮点数值

数值转换

1.Number() 用于任何数据类型

如果是Boolean值,则转换成1和0

如果是数值,只是简单的传入和返回

如果是null值,返回0

如果是undefined,返回NaN

如果是字符串

(1)如果字符串中只包含数字和正负号,则将其转换为十进制数值(忽略前导的零)

(2)如果字符串中包含有效的浮点格式,则将其转换为对应的浮点数值(忽略前导的零)

(3)如果字符串是空,则将其转换为0

(4)如果字符串包含有效的16进制格式,则将其转换为相同大小的十进制数值

(5)如果字符串包含除以上格式的字符,则将其转换为NaN

(6)如果是对象则调用方法转换

5.String类型

字符串可以由双引号或者单引号表示

1.字符字面量

String数据类型包含一些特殊的字符字面量,也叫转义序列

可以在 JavaScript 中使用反斜杠来向文本字符串添加特殊字符

\’ 单引号,\“双引号,\\反斜杠

\t制表符,& 和号,\b退格符,\f换页符

\r 回车 作用:使光标到行首

\n换行 作用:使光标下移一行

\r\n 回车换行

2.字符串的特点

字符串一旦创建,它们的值就不能改变,要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再将一个包含新值得字符串填充该变量.

3.字符串转换

(1)toString()方法,返回相应的字符串表现,数值,布尔值,对象和字符串都有toString()方法,但null和undefined没有

(2)String() 能够将任何类型的值转换为字符串,如果值有toString()方法,则调用该方法并返回相应的结果,如果值是null,则返回”null”;如果值是undefined,则返回”undefined”

(3)当将一个数字字符串用于算术运算中的操作数时,该字符串会在运算中被当做数字类型来使用。

var str01 = “3”;

var str02 = str01*3;

console.log(typeof str02);//number

(4)其他类型转换为字符串,只需要将其与空字符串拼接即可

  1. 1.<html>
  2. 2.
  3. 3. <head>
  4. 4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. 5. <title>JavaScript初级</title>
  6. 6. <script> 7. function testNullUndefined() { 8. var a; 9. var b = null; 10. document.write("a的数据类型:" + a + "<br>"); 11. document.write("b的数据类型:" + b + "<br>"); 12. } 13. function testBoolean() { 14. var a = true; 15. var b = false; 16. if(a) { 17. alert("a的数据类型是boolean!"); 18. } 19. } 20. function testString() { 21. var a = "aaa"; 22. var b = 'bbbb'; 23. var c = new String("cccc"); 24. document.write(a + "<br/>" + b + "<br>" + c); 25. //外面用单引号,里面双引号。或者外面双引号,里面单引号。 26. //假如子字符串包含引号的常见的处理技巧! 27. var e = '"eeeee"'; 28. var f = "U're right!"; //var f = 'U're right!'; //这么写会出错! 29. alert(e + "\n" + f); 30. } 31. function testNumber() { 32. var a = 123; 33. var b = 12.345; 34. var c = NaN; 35. var d = 1 / 0; 36. document.write(a + "<br>" + b + "<br>" + c + "<br>" + d); 37. if(c == c) { 38. alert("c==c"); 39. } else { 40. alert("c是NaN值,他是js中唯一一个跟自己不相等的值! 41. 我们可以利用这个特点判断某个值是不是NaN!"); 42. } 43. if(isNaN(parseInt("sss"))) { 44. alert("刚刚运算的结果是:NaN!"); 45. } 46. } 47. function testObject() { 48. var d = new Date(); 49. alert(d); //其他对象,以及js基于对象编程,以后会讲!今天先了解下! 50. } 51. </script>
  7. 52. </head>
  8. 53.
  9. 54. <body>
  10. 55. <input type=button value=测试nullundefinedοnclick="testNullUndefined();" />
  11. 56. <input type=button value=测试booleanοnclick="testBoolean();" />
  12. 57. <input type=button value=测试Stringοnclick="testString();" />
  13. 58. <input type=button value=测试Numberοnclick="testNumber();" />
  14. 59. <input type=button value=测试Objectοnclick="testObject();" />
  15. 60. </body>
  16. 61.
  17. 62.</html>

发表评论

表情:
评论列表 (有 0 条评论,31人围观)

还没有评论,来说两句吧...

相关阅读