奋斗30天Javascript之变量(Part2)

最近又在重新复习js,不怎么用有些就就生疏了,每天都要复习复习在复习才行,分享一下跟着大神学习的日常笔记记录。

有些錯誤可能是沒寫對中英字符,可能會報錯,都手寫的,見諒,废话不多说半句,开始复习吧!

使用变量前,可无需定义,当使用某个变量的时候直接使用即可。可分为以下两种方式:

隐式定义:直接给变量赋值

显示定义:使用var关键字定义变量

栗子来一波:

temp = "hello world";//隐式定义用法

var text;显示声明

text = 12;//赋值后的text数据类型是整形

alert(text);//12

当然也可以一次性定义多个变量;

var a,b,c;

变量的名称需要遵循以下规则:

· 首字母必须是字母(大小写均可),下划线(),或者美元符号$(变量名称对大小写敏感,小写y和大写Y是不一样的变量)

· 余下的字母可以是下划线,美元符号,任意字母或者是数字字符

· 变量名不能用关键字(true,false等)

这些命名都是不可以的(4li,li%he)

Javascript常用数据类型如下:

数值类型(number) 包含整数和浮点数
布尔类型(boolean) 只有true或false两个值
字符串类型(string) 字符串必须用双引号或单引号括起来
未定义类型(undefined) 专门用来确定一个已经创建,但是没有初始值的变量
空类型(null) 用于表明某个变量的值为空
对象类型(object)

javascript中的对象(function函式),数组(array)等

据栗说明哈:

数值类型(number):

1:var a = 1;

console.log(a);//1

2:a = 1;

console.log(a);//1

3:a ;

console.log(a);//报错

4:var a = 4e2;

console.log(a);//400

5:var a = 0.1e-2;

console.log(a);//0.01

未定义类型(undefined):

var a;

console.log(a);//undefined

console.log(String.abc);//undefined(当不存在abc这个属性也为undefined)

空类型(null):

var a = null;

console.log(a);//null

注意在==情况下null是等于undefined的,请看下面:

var a = null;

var b;

console.log(a==b);//true(严格等于===的话,为false)

课外知识:

1:typeof:用于检测型别是什么

typeof 'hello'//string

typeof true//boolean

typeof 1234//number

typeof null//object

typeof undefined//undefined

typeof {name:'jack'}//object

typeof function(){}//function

typeof [1,2,3]//object

typeof NaN//number

* null是基本型别之一,但是typeof确实object,这是个bug,但是没办法再修改了,所以就这样吧,已放弃治疗。

* NaN表示无效数字,但依旧是数字

* 虽然function是物件子型别,但typeof得到的非object和数组得到的object不一样。

2:相等性与不等性

==会强制转型,===不会强制转型

3:关于值的储存方法有传值和chua传址两种

a : object(物件)为传址

b:number,boolean,string,undefined,null为传值。

当比较两物件时,比较的是储存的位置,因此看起来是相同的物件,但比较结果却不同,如下列子:

const a = [1,2,3];

const b = [1,2,3];

a===b//false

4:var,const,let区别:

var:宣告一个物件

let:宣告一个有作用域限制的变数,范围限于大括号内

const:宣告常数,代表这变数的值不会改变

5:未定义(undefined)和未宣告(undeclared)区别:

未定义:未赋值的变量所储存的值是nudefined;typeof也得到undefined。

未宣告:变量是未宣告并使用的状态下会得到ReferenceError,并指出该变数并未宣告。

变数在未宣告并赋值的状态下,在严格模式下会报错ReferenceError。

在非严格模式下,变数会成为全域变数的属性。

注意:对未宣告的变数做typeof也得到”undefined“

总结:未宣告与未定义,两种情况都得到undefined,对未宣告的变数做typeof而得到’undefined‘,可避免浏览器丢出ReferenceError的错误信息,再写测试特定条件时常用到。

猜你喜欢

转载自blog.csdn.net/weixin_41406727/article/details/88377301