大家好,又见面了,我是你们的朋友全栈君。
一、数据类型:
基本数据类型(值类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)。
引用数据类型(对象类型):对象(Object)、数组(Array)、函数(Function)。
特殊的对象:正则(RegExp)和日期(Date)。
特殊类型:underfined 未定义、Null 空对象、Infinate 无穷、NAN 非数字
基本数据类型的值直接在栈内存中存储,值与值之间独立存在,修改一个变量不会影响到其他变量。
对象是保存在堆内存中的,每创建一个新对象,就会在堆内存中开辟出一个新空间,而变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是同一个对象引用,当其中一个通过变量修改属性时,另一个也会受到影响。
当比较两个基本数据类型的值时,就是比较值。
而比较两个引用数据类型时,它是比较的对象的内存地址,如果两个对象是一样,但是地址不同,也会返回false.
typeof 检测变量的数据类型
Var str = “string” ;
Var type = typeof str; //string
//type 这个变量在这里我们称为【返回值】
【返回值】:由函数(系统内置函数、自定义函数它执行后的返回的结果)
//js中如何判定一个数组是一个真数组??
Var obj = {}; //对象 json 对象
Console.log(typleof obj);//object 类型
Var fn = function(){};//函数
Console.log(typeof(fn)); //function 类型
//null 特殊类型:代理空
Console.log(typeof(null)); //object类型
String字符串:
Number类型:
Boolean布尔:
Undefined未定义:
Null空对象:
Object对象:
二、强制类型转换:parseInt() parseFloat() typeof()
将一个数据类型强制转换为其他的数据类型,String,Number,Boolean
转为String:
方法一:
-调用被转换数据类型的toString()方法
-该方法不会影响到原变量,它会将转换的结果返回
-null和undifined这两个值没有toString()方法,调用会报错。
var a = 123; a = a.toString();console.log(a)//”string”
方法二:
-使用String()函数,将被转换的数据作为参数传递给函数;
-对于Number和Boolean实际上就是调用toString()方法;
-对于null和underfined,就不会调用toString()方法,它会将null直接转换为“null”,将underfined直接转换为“underfined”。
a = String(a); console.log(a)//”string”
转换为Number:
方法一:使用Number()函数
-字符串–> 数字
-布尔 –> 数字
true转成1;false转成0
-null–> 数字 0
-undefined–>数字 NaN
方法二:专门用于来对付字符串
可以将字符串中的有效整数内容取出来,转为Number类型
var a =”123px”; a = paresInt(a); console.log(a) //123
var a =”123.456”; a = paresInt(a); console.log(a) //123取整
var a =”123.456”; a = paresInt(a); console.log(a) //123.456
var a =true; a = paresInt(a); console.log(a) //”NaN”
转换为Boolean:
var a =123; a =Boolean(a); console.log(a) //”true”
var a =-123; a =Boolean(a); console.log(a) //”true”
var a =0; a =Boolean(a); console.log(a) //”false”
var a =Infinity; a =Boolean(a); console.log(a) //”true”
var a =NaN; a =Boolean(a); console.log(a) //”false”
2、字符串–>布尔,除了空串,其余的都是true
3、null和underfined,都会转为false
4、对象也会转换为true
其他进制的数字:
var a =”0x10”; console.log(a) //16
var a =”0xff”; console.log(a) //255
var a =”070”; console.log(a) //56
var a =”0b10”; console.log(a) //2
var a =”070”; a = paresInt(a,10) ;console.log(a) //70,十进制解析
2、数据类型:堆内存
普通类型、标量类型:
string
number (int+ float)
引用类型:存储在栈内存
object ( array {})
array
function 函数类型
特殊类型:
null (计算机的一块虚拟内存)
隐式转换:
“100”+200
“a” > “b”
….
弱数据类型语言:定义变量、参数传递 无需指定数据类型
js
php
python
var a = 123|“serewr”|[];
强数据类型语言:定义变量指定数据类型
java
c
sql
xxx char(23)
a int;
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/196833.html原文链接:https://javaforall.cn