• 周四. 2月 29th, 2024

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

js-ECMAScript-2:数据类型:string,number,Boolean,null,undefined

admin

11月 28, 2021

###

数据类型总结:

一共有6中数据类型,

string,字符串,

number,数字,

Boolean,布尔,

null,空值

undefined,未定义,

object,对象,

前5种,是基本数据类型,

object,是引用数据类型,

###

数字类型

//数字类型
// js中,所有的数字都是数字类型,包括整数,小数, var n1 = 18; var n2 = 18.1; var n3 = 1.8e5;
还有一种NaN,这个是一个特殊的数字,表示不是一个数字,not a number,但是这个类型还是number,

#####

字符串类型

//字符串类型
var s1 = "123";
var s2 = "234";
var s3 = s1+s2; // 字符串拼接
console.log(s3)

var s4 = "jintianhen"hao" " ---可以使用反斜杠,作为转移, 这是回车, 是一个tab符号,\这两个斜杠,就是转移之后获得一个,
var s5 = "jintianhen'hao'" ----可以使用双引号里面,可以使用单引号,
/* 字符串常用方法: .length 返回长度 .trim() 移除空白 .trimLeft() 移除左边的空白 .trimRight() 移除右边的空白 .charAt(n) 返回第n个字符 .concat(value, ...) 拼接,eg: concat(1) 在后面拼接1,concat(1,2,3) 在后面拼接1,2,3 .indexOf(substring, start) 子序列位置,返回的是子字符串的起始位置, .toLowerCase() 小写 .toUpperCase() 大写 .split(delimiter, limit) 分割,第一个参数是根据什么分割,第二个参数是限制分割多少个,第二个参数可以不写 ######################### .substring(from, to) 根据索引获取子序列 .slice(start, end) 切片 //substring和slice有什么相同之处: 两者的相同点: 如果start等于end,返回空字符串 如果stop参数省略,则取到字符串末 如果某个参数超过string的长度,这个参数会被替换为string的长度 substirng()的特点: 如果 start > stop ,start和stop将被交换 如果参数是负数或者不是数字,将会被0替换 silce()的特点: 如果 start > stop 不会交换两者 如果start小于0,则切割从字符串末尾往前数的第abs(start)个的字符开始(包括该位置的字符) 如果stop小于0,则切割在从字符串末尾往前数的第abs(stop)个字符结束(不包含该位置字符) * */

###

布尔类型

/*
布尔类型
区别于Python,true和false都是小写。
""(空字符串)、0、null、undefined、NaN都是false。
* */
//布尔类型
var a = true;
var b = false;

###

null和undefined

null表示值是空,一般在需要指定或清空一个变量时才会使用,如 var name=null;
typeof name 是返回一个object,对象,
undefined表示当声明一个变量但没有赋值的时候,该变量的默认值是undefined。还有就是函数无明确的返回值时,返回的也是undefined。
typeof name 是返回一个undefined,

null表示变量的值是空,undefined则表示只声明了变量,但还没有赋值。

###

对象类型单独去说,

###

typeof 检查数据类型

typeof a1 //这是查看数据的类型,记住数组和null,返回的是object类型
typeof是一个一元运算符(就像++,--,!,- 等一元运算符),不是一个函数,也不是一个语句。

typeof "abc"  // "string"
typeof null  // "object"
typeof true  // "boolean"
typeof 123 // "number"

###

强制类型转换

转换成string,number,Boolean,

数字转换成字符串:
var a =123
方式一:
a = a.toString();
这样就可以把a转换成字符串了,
注意null和undefined,是没有toString()方法的,调用这个方法会报错,
方法二:
调用string函数,
a = string(a)
注意null和undefined,也可以使用这个string函数的,

###

强制类型转换,转换为number
var a = "123"
方法一,
a = Number(a)
使用的Number函数,
注意,
1,如果不是一个纯数字,比如字母,或者数字字母混合,就会返回一个NaN,必须正常的数字才可以转换成为数字,非数字不行,
2,如果是一个空,或者空格,都是转换成为0,
3,布尔类型,true转换成1,FALSE,转为0,
4,null,转换为0,
5,undefined,转换为NaN,

方法二,
var a = "123px"
var b = "123.4566px" ---这个转换就是123,因为遇到点,后面的都不要了,
a = parseInt(a)
这种就是转为了123,也就是可以取出来有效的整数,但是是从左开始取,遇到非数字都不要了,
b = parseFloat(b) ----123.4566
注意,
1,如果对于非string的,比如,布尔,需要先转换为字符串,然后再使用这两个方法,

###

转换为布尔
只有一个方式就是使用Boolean函数,
var a = 123
a = Boolean(a)
--这个是true,如果是0,就是FALSE,如果null,也是FALSE,

var a = "qeqwe"
a = Boolean(a)
字符串转布尔,除了空串,都是true,空串是FALSE,

null和undefined,都是转为FALSE,
对象也会转为true,

###

###

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注