大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
数据类型
一、数据类型:
基本数据类型(值类型):字符串(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字符串:
- 在js中字符串需要使用引号引起来,单引号和双引号不能混用
- 引号不能嵌套,可以使用\进行转义。
Number类型:
- Number类型包括整数和浮点数(小数)
- JS进行浮点元素运算可能得到一个不精确的值0.1+0.2=0.300000004,不能进行精确度要求比较高的运算
- NaN表示Not A Number,检查时返回number
- JS中可以表示的数字最大值:Number.MAX_VALUE:1.79769….e+308(1.79..的308次方)如果使用Number表示的数字超过了最大值,则会返回Infinity(正无穷);最小值-Number.MIN_VALUE,(5e-324,5*10的-324次方,大于0的最小值),如果使用Number表示的数字超过了最小值返回-Infinity(负无穷),Infinity为number数据类型
Boolean布尔:
- 布尔值只有两个true/false,主要做逻辑判断。
- 使用typeof检查一个布尔值时返回boolean
Undefined未定义:
- js中输出未被赋值的被定义变量结果是Undefined;Undefined类型的值只有一个。
- 使用typeof检查时值时返回undifined
Null空对象:
- Null(空值)类型的值只有一个,null,用来表示一个为空的对象,使用typeof检查时值时返回object,因为null表示空对象NaN、infanity、undefined
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()函数
-字符串–> 数字
- 纯数字的字符串,直接转为数字
- 如果字符串中含有非数字内容,则转换为NaN
- 如果字符串是一个空串或者全是空格的字符串,则转换为0
-布尔 –> 数字
true转成1;false转成0
-null–> 数字 0
-undefined–>数字 NaN
方法二:专门用于来对付字符串
- paresInt();//字符串转化为整数(小数点省略)
可以将字符串中的有效整数内容取出来,转为Number类型
var a =”123px”; a = paresInt(a); console.log(a) //123
var a =”123.456”; a = paresInt(a); console.log(a) //123取整
- paresFloat();//字符串转化为浮点数,可以获得有效小数
var a =”123.456”; a = paresInt(a); console.log(a) //123.456
- 如果对非String使用paresInt()或paresFloat(),会将其转换为String.然后在操作
var a =true; a = paresInt(a); console.log(a) //”NaN”
转换为Boolean:
- 调用Boolean()函数,除了0和NaN,其余的都是true, 数字–>布尔.
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
其他进制的数字:
- 在js中,如果需要表示16进制的数字,则需要以0x开头
var a =”0x10”; console.log(a) //16
var a =”0xff”; console.log(a) //255
- 8进制,以0开头
var a =”070”; console.log(a) //56
- 2进制,以0b开头,并非所有浏览器都支持
var a =”0b10”; console.log(a) //2
- “070”这种特殊字符串,有些浏览器会当成8进制解析,有些会当成10进制解析;可以在paresInt()中传递参数来指定数字的进制
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;
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/196833.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...