js学习 Day01(语法规范)

js学习 Day01(语法规范)

  •   js语法规范 

区分大小写 每行结束的符号可以省略,单行注释(//.....),多行注释(/*...*/)。

  • 变量

适用于存储数据的容器。

var  a =1 ;

使用var声明变量,在内存中开辟空间名称为a,然后把1保存进入。

可以多次赋值,赋不同类型的值

  • 命名规范

变量名称可以由字母、数字、下划线、&组成,不能以数字开头!例:var 1a = 1; 

注意:变量名不能是关键字。

尽量使用语义命名和驼峰命名法

  • 常量

1.常量

 const  pi=3.14

 常量也是用于存储数据的容器

 常量一旦声明必须赋值,不允许重新赋值

  • 数据类型

分为原始类型和引用类型

 原始类型分为数值型、字符串型、布尔型、未定义型、空

 (1)数值型

  •   整型

  10进制

  1  2  3   ...  7    8   9   10  ...   15   16

  8进制,以0开头的数字,例如010

  1  2  3   ...  7   10  11  12

  16进制,以0x开头的数字,例如0xa  不区分大小写

  1  2  3   ...  7    8   9   a   ...    f   10

  •   浮点型:

  3141.5e-1

  314.15

  31.415e+1

  3.1415e+2

  • typeof   检测数据类型

 'number'

 'string'

 'boolean'

 'undefined'

 'object'

 (2)字符串型

  被引号包含的数据就是字符串型,不区分单双引号

  查看任意一个字符的Unicode码

   's'.charCodeAt()

 

 (3)布尔型

  只有两个值,分别是truefalse,代表真和假,表示只有两个结果的数据,例如是否登录、是否注册...

 (4)未定义型

  只有一个值undefined

  声明了变量未赋值则为undefined,属于一种空值

 (5)空

  只有一个值null

  类型是object(对象),常结合引用类型数据使用

  • 数据转换
分为隐式转换和强制转换

(1)强制转换为数值

   Number()

Number(true) //1

Number(false) //0

Number('2') //2

Number('2a') //NaN

Number(undefined) //NaN

Number(null) //0

  (2)强制转换为整型

   通常用于将小数和字符串转为整型,其它的转换为NaN

parseInt(8.9)  //8

parseInt('3.14') //3

parseInt('6.18a') //6

parseInt('a6.18') //NaN

  (3)强制转换为浮点型

   parseFloat()

   通常用于将字符串转为浮点型,其它的转换为NaN

parseFloat('5.18') //5.18

parseFloat('7a') //7

parseFloat('a4.13') //NaN

  (4)将数值和布尔型强制转为字符串(了解)

    toString()

var num = 2;

num.toString()  //'2'

  • 3.运算符

 表达式:由数据或者由运算符连接的操作数据组成的形式称作表达式

 运算符分为算术运算符、比较运算符、逻辑运算符、位运算符、赋值运算符、三目运算符

 (1)算术运算符

  +  -  *  /   %   ++  --

  %  取余

  ++  自增,在原来的基础之上加1

  --   自减,在原来的基础之上减1

var b = 2;

//先把b赋给c,然后b再自增

var c = b++;

var d = 2;

//先让d执行自增,然后把自增后的结果赋给e

var e = ++d;

  整个算术运算符都会将数据隐式转换为数值型

 (2)比较运算符

  >  <  >=  <=   ==(等于)   !=   ===(全等于)   !==(不全等于)

  ==  等于,只是比较值是否相同,可能会发生隐式转换

  ===   全等于,先比较类型,然后再比较值

  !=   不等于,比较值不等于

  !==  不全等于,类型不同或者值不同

  3>'10'  //字符串转为数值

  '3'>'10'  //比较的是首个字符的Unicode码

    '3'->51   '1'->49

  3>'10a' //false

  3<'10a' //false

  3=='10a' //false

  NaN==NaN //false

   NaN和任何值比较(>  <  >=  <=  ==  ===)结果都是false

 (3)逻辑运算符

  &&   ||   !

  &&  逻辑与,关联的两个条件都是true结果是true,否则是false

  ||  逻辑或,关联的两个条件有一个是true结果是true,否则是false

  !  取反

  短路逻辑

    当执行完第一个条件不再执行第二个条件,就会产生短路逻辑

    关注点在于第二个条件(表达式)是否执行

    &&  当第一条件为false就不再执行第二个条件

    ||  当第一个条件为true就不再执行第二个条件

   练习:查看以下程序是否会报错

    var  a=5;

    a > 10  &&  console.log(num);  不报错

    a > 2    ||   console.log(num);  不报错

 (4)位运算符

   模拟计算机底层的运算,先将数据转为二进制,然后进行运算,当运算完再把结果转回成十进制。

   1     2    3     4    5    6    7

   1    10   11   100  101  110  111

   &  按位与,上下两位比较,如果都是1结果是1,否则是0

   |   按位或,上下两位比较,如果含有1结果是1,否则是0

   ^  按位异或,上下两位比较,不同是1,相同是0

   >>   按位右移,删除末尾的位数

   <<   按位左移,在末尾补0

   32>>2

    100000   -->    1000000

   5&7        8|13     7^12

   101        1000     0111

   111        1101     1100

————   ————   ———

   101        1101     1011

 Number()ParseInt()ParseFloat().toString()
true1NaNNaN‘true’
false0NaNNaN‘false’
null0NaNNaN报错
undefinedNaNNaNNaN报错
‘2’222‘2’
‘2.33’2.3322.33‘2.33’
‘2a’NaN22‘2a’
‘2.33a’NaN22.33'2.33a'
'a2'NaNNaNNaN'a2'
行+列truefalsenullundefined1‘1’‘a1’
true211NaN2'true1'

'truea1'

false100NaN1'false1''false1'
null100NaN1'null1''nulla1'
undefinedNaNNaNNaNNaNNaNNaNNaN
1211NaN2'11''1a1'
‘1’'1true''1false''null1'NaN'11''11''1a1'
‘a1’'a1true''a1false''a1null'NaN'a11''a11''a1a1'

 

 

课后任务

(1)复习今天内容,整理思维导图

(2)练习:声明变量保存任意一个年份,判断是否为闰年,如果是闰年,使用短路逻辑打印‘闰年’

  闰年:能被4整除,并且不能被100整除,或者能被400整除

(3)预习js第3天,if if-else..

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值