1-2-js-核心语法-基本数据类型5个:string,number,Boolean,null,undefined

按照类型来分有基本数据类型和引用数据类型:

基本数据类型:

一共有6中数据类型,
string,字符串,
number,数字,
Boolean,布尔,
null,空值
undefined,未定义,
object,对象,
前5种,是基本数据类型,

引用数据类型:

Object【Object是个大类,function函数、array数组、date日期...等都归属于Object】
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)

字符串常用方法:

.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)    分割,第一个参数是根据什么分割,第二个参数是限制分割多少个,第二个参数可以不写

字符串切片:.slice

.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)个字符结束(不包含该位置字符)

字符串替换:str.replace

str.replace("需要替换的字符串","新字符串")   replace默认替换的是第一个。
string end =str.replace(/3/g,"2")   “g”是匹配全部的意思,这样str里面的所有数字3,都替换成数字2。
string end = str.replace(RegExp("12333", "g"), "123");  上面的意思是把 str 里面所有的“12333”替换成123

字符串转义

var s4 = "jintianhen\"hao\" "   ---可以使用反斜杠,作为转移,\n 这是回车,\t是一个tab符号,\\这两个斜杠,就是转移之后获得一个\,
var s5 = "jintianhen'hao'"    ----可以使用双引号里面,可以使用单引号,

强制类型转换

转换成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,

布尔类型

区别于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"

posted @ 2021-08-13 12:22  技术改变命运Andy  阅读(94)  评论(0编辑  收藏  举报