JS基础(一)

javascript 中的数据类型

什么是数据类型?
人以类聚物以群分。
为什么要对数据分类?
为了合理分配内存空间,达到节约内存目的。
`

数据类型的分类

javascript中类型分两大类:基础数据类型、引用类型
  • 5种基本数据类型:

String 字符串类型
Number 数字类型
Boolean 布尔类型
undefined 未定义类型
null 空类型

Number : 所有的数字( int, float)、 特殊符号 NAN(Not a number)

整数(int)可以使用以下4种表示方式:

十进制: 日常生活实用的数字。(也是最最最常用的方式)
二进制: 以0或者1组成的数字
八进制: 以0开头的数字
十六进制: 以0x开头的数字

小数(float)

特殊值:NaN(计算错误,类型转换失败):不是明确的数字,但是它是Number类型

Infinity(除数为0)

undefine:表示定义了变量,但是没有给变量赋值 null:表示一个空对象 ,可以通过给一个变量赋值nulll值来清除变量的内容

注意:null使用typeof 返回的数据类型是object,是一个特例,是一个远古时期的一个bug

面试题:null和undefined的比较

相同点:

①null,undefined均表示没有值

不同点:

undefined:

①代表一个变量定义了,但是没有赋值,就使用,那么变量的默认值就是undefined。

null:

①代表一个变量如果存储的值是引用类型,且目前对象还未创建,那么就可以设置为null,
②另外一个情况:如果一个函数有返回值,但是最终没有数据返回出来,则也会返回null

英语小课堂

caught: 捕获
uncaught: 未捕获
Syntax:语法
SyntaxError:语法错误
expected:期望的,期待的
unexpected:意外(不期望的)
identity:身份,个性,特性
identifier:识别码

检测数据类型使用typeof

重点:强制类型转换

parseInt:(将其他类型转换为number整数):

string—>number
① 字符串中的值首字符必须是数字,转换后之后得到具体值,否则得到NAN
②只转换首字符开始的连续数字
③除了字符串,其他类型转换成number都得到NAN

parseFloat:(将其他类型转换为number类型的小数)

①②③和parInt一样
④如果小数后面的值是有效值,转换后就保留,否则就删除

Number(): 讲其他类型转化为number类型

注意:
string—>number
①只能是纯数字的字符串,才能得到具体的值,其他的都是得到NAN
②布尔通过它转换成number,true = 1, false = 0
③ undefined通过它转换成number:NAN
④Null通过它转换成number: 0

Boolean():将其他类型转换为布尔类型

注意:
除了数字 0 空字符串“” ‘’ undefined NaN null 他们得到false,其他的都是true

运算符:

++:自身加1
前置++: ++a 先自增再运算
后置++: a++ 先运算再自增
重点: 但是别犯糊涂 这里说到的运算是指和的变量参与的运算,而不是自己的运算

>var a = 3
>		++a
>	 	console.log(a)	//4
>var a = 3
>		a++
>	 	console.log(a)// 4	
>var a = 12;
>		c = ++a + 3
> 		console.log(a , c)// a = 13, c = 16
>var a = 12;
> 		c = a++  + 3
>		console.log(a , c)// a = 13, c = 15

比较运算符:得到的结果为true or false

 ==  !=	>	>=	<	<=	
 ===	全等于
 !==	不全等于
 =		表示赋值
 ==		只比较值大小,不比较数据类型
 ===	既比较值大小,还比较数据类型
 !=		不等于)== 相反 
 !==	不全等于)=== 相反 ```

逻辑运算符:

&&(与) 遇到false就返回
a&&b, 如果a为true,直接返回b,而不管b为true或者false
如果a为false那么直接返回a eg:
1.var a = 1 && 2 && 3; //3
2.var b = 0 && 1 && 2; //0
3.var c = 1 && 0 && 2; //0

||(或)遇到true就返回
a||b,如果a为false,直接返回b,而不管b为true or false
如果a为true, 直接返回a,而不会继续往下执行
1.var a = 0 || 1 || 2; //1
2.var b = 1 || 0 || 3; //1

!(非) 取反

判断语句

switch…case 判断数值并且判断数值的数值类型 也就是 === 全等的判断条件

什么是函数?

函数就是我们封装方法的一个容器,也可以叫做一个功能模块。

为什么要使用函数

1.减少代码德冗余度
2.方便后期对代码的维护

函数的定义方式

第一种方式:函数声明式

function 函数名 () {  
		函数体(被封装的代码块)  
} 

第二种方式:函数表达式

var 变量 = function(){
 
 }

注意:
1.function(){} 匿名函数(没有名称的函数)
2.变量名相当于函数名

那么这两个函数定义的方式有什么区别呢?

函数声明式:如果使用函数声明式,定义好的函数会自动提升,提升到script标签开始的下面

函数表达式,不会提升,如果在变量的上面调用该变量,会报错。(es6中所提及的)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值