最近又在重新复习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的错误信息,再写测试特定条件时常用到。