何を见てるの?君のこと见てるよ

0%

Js学习笔记1-变量

变量声明

1、变量作用域相关

  • 使用var关键字声明的变量( 比如 var a = 1),会在所有的代码执行之前被声明(但是不会赋值)

  • js没有块级作用域

  • 任何变量,如果未经声明就赋值,此变量是属于 window 的属性

关键字和保留字

关键字如下:

1
2
3
4
5
6
7
8
9
10
11
12

breakcontinuecasedefault

ifelseswitchforindowhile

trycatchfinallythrow

varvoidfunctionreturnnew

thistypeofinstanceofdeletewith

truefalsenullundefined

保留字如下:

1
2
3
4
5
6
7
8
9
abstract、boolean、byte、char、classconst

debuggerdoubleenumexportextendsfinalfloatgoto

implementsimportintinterfacelongnativepackage

privateprotectedpublicshortstaticsupersynchronizedthrows

transientvolatile

基本数据类型和应用数据类型

我们首先记住一句话:JS中,所有的变量都是保存在栈内存中的。

然后来看看下面的区别。

基本数据类型

基本数据类型的值,直接保存在栈内存中。值与值之间是独立存在,修改一个变量不会影响其他的变量。

引用数据类型

对象是保存到堆内存中的。每创建一个新的对象,就会在堆内存中开辟出一个新的空间;而变量保存了对象的内存地址(对象的引用),保存在栈内存当中。如果两个变量保存了同一个对象的引用,当一个通过一个变量修改属性时,另一个也会受到影响。

数据类型基本操作

字符串

1
2
var str1 = '哈哈哈';
console.log(str1.length); //获取字符串的长度
1
2
3
4
5
6
7
var name = 'qianguyihao';
var age = '26';

console.log('我是' + name + ',age:' + age); //传统写法

console.log(`我是${name},age:${age}`); //ES6 写法 模板字符串写法
//**注意**,上方代码中,倒数第二行用的符号是单引号,最后一行用的符号是反引号(在 tab 键的上方)

空值类型对比

  • NaN 是Number类型,表示非数字
  • null 是空对象,表示为空对象未初始化
  • undefined 表示已经声明,但是未赋值或者未定义时

数据类型转换

返回变量数据类型

1
typeof [变量]

显示类型转换

  • toString() 调用方法为变量.toString(),返回新变量结果
  • String() 调用方法为String(变量)
  • Number() 包括小数,调用方法为Number(变量),其中对于null为0,undefined为NaN
  • parseInt(string) 特性是只保留字符串开头的数字、自动截断小数
  • parseFloat(string)
  • Boolean()

隐式转换

  • isNaN ()
  • 自增/自减运算符:++—-
  • 正号/负号:+a-a
  • 加号:+
  • 运算符:-*/