JavaScript连载3-变量内存分析、常量、数据类型
一、变量的内粗分析
1.变量的默认值
(1)如果变量初始化时没有赋值,那么里面存储的时undefined
(2)示例
var lk;
console.log(lk);
2.同时声明多个变量
两种方式
var name,age,sex;
name = "kdfg";
age = 2;
//或者
var name = "jsoaf",age,sex="男";
3.在内存中的表现形式
栈内存(存放变量等,类似于java),堆内存
4.变量命名规则
(1)以字母、数字、下划线组成,且不能以数字开头;(2)区分大小写;(3)不能使用关键字和保留字。
5.如何将一段代码失效,或者说让编译器认为这个一段纯文本
<script type="text/html"> /** *使用type="text/html"就是指定了,这个script标签里面的内容都是文本,而不是一段代码 */ </script>
6.变量命名规范:遵循驼峰命名法
7.常量演示
命名方式:
const apo = "常量不能再被重复赋值";
8.总结:常量和变量的存储方式是一致的,只不过常量必须要有初始值,而且值是不允许改变的,而变量可以无初始值,且可以改变。
9.常量与字面值的区别:
常量与字面量都是不会被改变的,常量为存储数据的容器,而字面量为等号右侧的值,字面量是由字符串,数字等构成的字符串或者数值
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>d3_1_varitymemoryanalysis</title> </head> <body> <script type="text/html"> /** *使用type="text/html"就是指定了,这个script标签里面的内容都是文本,而不是一段代码 */ </script> <script > var lk; console.log(lk);//undefined var name,age,sex; name = "lk"; age = 2; var name1="lk",age,sex="女"; console.log(age,name); //不使用中间变量,交换两个数值变量的值 var num1 = 4,num2 = 2; num1 = num1 + num2;//4 + 2 = 6 num2 = num1 - num2;//6 - 2 = 4 num1 = num1 - num2;//6 - 4 = 2 //这样就完成了交换,而不需要使用其他变量 //常量解析 const api = "http://itlike.com"; console.log(api); </script> </body> </html>
二、数据类型
1.概念:程序在运行过程中会产生各种各样的临时数据,为了方便数据的运算和操作,javascript对这些数据进行了分类,提供了丰富的数据类型
2.数据类型的划分
(1)简单数据类型:number,string,boolean,undefined,null
(2)引用(复杂)数据类型:object
3.数据类型查看:
(1)typeof操作符:会将检查的结果以字符串的形式返回给他们
4.number
(1)在js中所有的数据都是number类型(整数和小数)
(2)由于内存的限制,ecmasript并不能保存世界上所有的数值
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>d3_2_datatype</title> </head> <body> <script> console.log(typeof 10); console.log(typeof "dhsjodf"); console.log(typeof 2.32); //最大值 console.log(number.max_value); //最小值 console.log(number.min_value); //无穷大:infinity,如果超过了最大值会返回该值 console.log(number.max_value + number.max_value); //无穷小:-infinity,如果超过了最小值会返回该值 console.log(typeof infinity); console.log(typeof -infinity); </script> <script id="string" <script></script> </body> </html>
三、源码:
d3_1_varitymemoryanalysis.html
d3_2_datatype.html
地址:
https://github.com/ruigege66/javascript/blob/master/d3_1_varitymemoryanalysis.html
https://github.com/ruigege66/javascript/blob/master/d3_2_datatype.html
2.csdn:https://blog.csdn.net/weixin_44630050
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,个人账号,仅用于技术交流,后台回复“礼包”获取java大数据学习视频礼包