JavaScript变量类型和计算总结
一,变量类型
1,值类型:Number,String,Boolean,Null,Undefined
2,引用类型:Object,Array,Function
3,值类型和引用类型的区别:
(1)值类型
1)占用空间固定,保存在栈中(当一个方法执行时,每个方法都会建立自己的内存栈,在这个方法内定义的变量将会逐个放入这块栈内存里,随着方法的执行结束,这个方法的内存栈也将自然销毁了。因此,所有在方法中定义的变量都是放在栈内存中的;栈中存储的是基础变量以及一些对象的引用变量,基础变量的值是存储在栈中,而引用变量存储在栈中的是指向堆中的数组或者对象的地址,这就是为何修改引用类型总会影响到其他指向这个地址的引用变量。)
2)保存与复制的是值本身
3)使用typeof检测数据的类型
4)基本类型数据是值类型
(2)引用类型
1)占用空间不固定,保存在堆中(当我们在程序中创建一个对象时,这个对象将被保存到运行时数据区中,以便反复利用(因为对象的创建成本通常较大),这个运行时数据区就是堆内存。堆内存中的对象不会随方法的结束而销毁,即使方法结束后,这个对象还可能被另一个引用变量所引用(方法的参数传递时很常见),则这个对象依然不会被销毁,只有当一个对象没有任何引用变量引用它时,系统的垃圾回收机制才会在核实的时候回收它。)
2)保存与复制的是指向对象的一个指针
3)使用instanceof检测数据类型
4)使用new()方法构造出的对象是引用型
二,变量计算
1,强制类型转换
(1)字符串拼接
var a = 10+10; //20 var b = 10+'10'; //'1010'
(2)==运算符(0,’ ',null,undefined都会转为false,其他会转为true)
null == undefined; //true 100 == '100'; //true 0 == ' '; //true
(3)if 语句(0,’ ',null,undefined都会转为false,其他会转为true)
(4)逻辑运算(0,’ ',null,undefined都会转为false,其他会转为true)
console.log(10&&0); //0 console.log(!window.abc); //true
2,js中= =和= = =区别
(1)===:值相等且类型相同。
(2)===:两边值类型不同的时候,要先进行类型的转换,再比较。
1)对象和布尔值的比较
对象和布尔值进行比较时,对象先转换为字符串,然后再转换为数字,布尔值直接转换为数字。
[] == true; //false []转换为字符串'',然后转换为数字0,true转换为数字1,所以为false
2)对象和字符串比较
对象和字符串进行比较时,对象转换为字符串,然后两者进行比较。
[1,2,3] == '1,2,3' // true [1,2,3]转化为'1,2,3',然后和'1,2,3', so结果为true;
3)对象和数字比较
对象和数字进行比较时,对象先转换为字符串,然后转换为数字,再和数字进行比较。
[1] == 1; // true `对象先转换为字符串再转换为数字,二者再比较 [1] => '1' => 1 所以结果为true
4)字符串和数字比较
字符船和数字进行比较时,字符串转换成数字,二者再比较。
'1' == 1 // true
5)字符串和布尔值比较
字符串和布尔值进行比较时,二者全部转换程值再比较。
'1' == true; // true
6)布尔值和数字比较
布尔值和数字进行比较时,布尔转换为数字,二者再比较。
true == 1 // true
7)undefined和null比较
undefined == null //true undefined和null 比较返回true,二者和其他值比较返回false Number(null) //0
- javascript 变量、数据类型、语句、函数小总结 01
- 栋栋晓09:Javascript学习总结:基础知识1(语法、关键字和保留字、变量、数据类型、操作符)
- PHP JavaScript横向总结、对比(1.变量,数据类型)
- javascript的变量类型总结
- JavaScript知识点总结(六)之JavaScript判断变量数据类型
- js总结-变量类型和计算
- JavaScript的小小总结!变量类型、对象声明、this用法、原型、匿名函数、闭包和自执行函数
- JavaScript的类型、值和变量的总结
- 【知识整理】javascript基础语法总结(1)——变量和数据类型
- 前端面试-----JavaScript中变量类型与计算
- 自定义标签实现JSP页面计算两个时间类型变量的差,返回xx天xx小时xx分钟xx秒
- C#基础总结之一变量常量-if嵌套语句-witch结构-类型转换
- javascript 类型 值 变量 十一
- JavaScript判断变量类型:typeof函数与constructor属性异同
- 【JavaScript】(2)标识符与关键字\基本|引用数据类型 \变量 \运算符与表达式\流程控制语句
- 12/25学习总结(注释、变量、类型)
- JavaScript保存并运算页面中数字类型变量的写法
- Javascript 笔记与总结(2-2)Javascript 变量
- JavaScript基本概念(变量和数据类型)
- JavaScript基础01--变量和数据类型介绍