js json制表符报错_JS基础复习-七种基本数据类型

1fc2382b428ae8ae838771b813cf0a16.png

前言:JS必须死记的七种数据类型

  1. string
  2. number
  3. boolean
  4. null
  5. undefined
  6. symbol(比较特殊,先不做讨论)
  7. object

一、string-字符串

1、定义:字符串就是零个或多个排在一起的字符,放在单引号或双引号之中。

2、注意点:

  • 单引号:由于 HTML 语言的属性值使用双引号,所以很多项目约定 JavaScript 语言的字符串只使用单引号
  • 换行(容易错的点):以下有三种换行方式,只有 '+' 方式是最好的。
//方式一
var str1 = '12345
67890'

很容易坑人!!!,注意,反斜杠的后面必须是换行符,而不能有其他字符(比如空格),否则会报错。

//方式二
var str2 = '123' + 
           '456' +
           '7890'

最优!,不容易出错,别人也容易看懂。

//最坑人的方式,在后面打一堆空格
var str3 = '12345                                               
67890'

出现报错,但是谁能知道你后面打了空格啊!! 就很容易坑人!

3、转义

反斜杠()在字符串内有特殊含义,用来表示一些特殊字符,所以又称为转义符。

0 :null(u0000)
b :后退键(u0008)
f :换页符(u000C)
n :换行符(u000A)
r :回车键(u000D)
t :制表符(u0009)
v :垂直制表符(u000B)
' :单引号(u0027)
" :双引号(u0022)
 :反斜杠(u005C)

二、number

需要记住的注意点:

  1. NaN:NaN是 JavaScript 的特殊值,表示“非数字”(Not a Number),主要出现在将字符串解析成数字出错的场合。
//例如:
0 / 0 // NaN
5 - 'x' // NaN

NaN的运算规则:

(1)NaN不等于任何值,包括它本身

(2)NaN在布尔运算时被当作false

Boolean(NaN) // false 

(3)NaN不是独立的数据类型,而是一个特殊数值,它的数据类型依然属于Number,使用typeof运算符可以看得很清楚。

2、与数值相关的全局方法

(1)parseInt()两个用法:将字符串转为整数、进制转换。

parseInt('123') // 123
parseInt('     81') // 81会自动去除空格

(2)parseFloat()方法用于将一个字符串转为浮点数。

(3)isNaN()方法可以用来判断一个值是否为NaN

三、null, undefined 和布尔值

1、关于null和undefined

nullundefined都可以表示“没有”,含义非常相似。将一个变量赋值为undefinednull,老实说,语法效果几乎没区别。

有一道面试题可能会问:
null和undefined有什么区别?
答:(1)null和undefined都表示“没有”的意思。当变量没有赋值时,那就是undefined;当一个对象现在还没有赋值,推荐给一个null作为作为值;总结来说就是,null一般用来表示一个空对象,undefined用来表示’空的非对象‘,例如空string、空number
(2)转为数值时,null是0,undefined是NaN

注意:这其实来源于JS之父的BUG,null是一个表示“空”的对象,转为数值时为0undefined是一个表示"此处无定义"的原始值,转为数值时为NaN

四、object-对象

对象(object)是 JavaScript 语言的核心概念,也是最重要的数据类型。

什么是对象?简单说,对象就是一组“键值对”(key-value)的集合,是一种无序的复合数据集合

1、键名:对象的所有键名都是字符串(ES6 又引入了 Symbol 值也可以作为键名),所以键名加不加引号都可以。以下两种情况都可

var obj = {
  name: 'cjw',
  age: '26'
};

var obj = {
  'name': 'cjw',
  'age': '26'
};

注意:如果键名不符合标识名的条件(比如第一个字符为数字,或者含有空格或运算符),且也不是数字,则必须加上引号,否则会报错。

// 报错
var obj = {
  1p: 'Hello World'
};

// 不报错
var obj = {
  '1p': 'Hello World',
  'h w': 'Hello World',
  'p+q': 'Hello World'
};

2、(重要!!)键名-属性-方法(键值为函数)

对象的每一个键名又叫做“属性”(property),它的“键值”可以是任何数据类型

如果一个属性的值为函数,通常把这个属性称为“方法”,它可以像函数那样调用。

综上所述: 键名就是'属性';当属性值是函数 '属性’=== '方法'

3、属性的操作

(1)属性读取:点运算符obj.name、方括号运算符obj['name']

var obj = {
  p: 'Hello World'
};

obj.p // "Hello World"、点运算符不用加引号
obj['p'] // "Hello World" 方括号运算符必须加引号!!!!

请注意,如果使用方括号运算符,键名必须放在引号里面,否则会被当作变量处理。

var foo = 'bar';

var obj = {
  foo: 1,
  bar: 2
};

obj.foo  // 1
obj[foo]  // 2

请注意,数值键名不能使用点运算符(因为会被当成小数点),只能使用方括号运算符。

(2)属性赋值:点运算符、方括号运算符用来给属性赋值

var obj = {};
obj.name = 'cjw';
obj['age'] = 26;

(3) 属性的查看-Object.keys方法

var obj = {
  age: 26,
  name: 'cjw'
};

Object.keys(obj);
// ['name', 'age']
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值