分享学JavaScript的第二天

一.直接量(字面量)

字面量:英语叫做literals,也做直接量。看见什么,它就是什么。

1. 数字的字面量

数字的字面量,就是这个数字自己

1.1 整数

三种进制

整数可以被表示成十进制(基数为10)、十六进制(基数为16)以及八进制(基数为8)

10进制:十进制整数字组成的数字序列,

8进制:带前导0、0O、0o 的整数字面值表明它是八进制。八进制整数只能包括数字0-7。

16进制:如带前导0x,0X开头的就是十六进制。十六进制整数可以包含(0-9)和字母 a-f 或 A-F

八进制

// 八进制  最终显示是以十进制方式显示
alert(015)   // 1*8 + 5  =  13
alert(017)     // 1*8 + 7 *1 =15
alert(0o21)     // 2*8 + 1 *1 =17
alert(0O21);    // 2*8 + 1 *1 =17

八进制0-7这八个数字,如果小时不合法,js还自动给你转成10进制,转不了就报错

console.log(088);  //88
// 按理说以0开头是八进制,但是后面数字写错了,所以以十进制方式限制

如果以0o或0O开头的八进制将报错

console.log(0o88);  // 报语法错误
console.log(0O88);   // 报语法错误
1.2 浮点数(小数或指数)

小数的字面量也很简单,就是数学上的点。计算机世界中,小数称为“浮点数”。

浮点数字面值可以有以下的组成部分:

一个十进制整数,它可以带符号(即前面的“+”或“ - ”号),如果整数部分是0可以不写

一个小数点

一个小数部分(由一串十进制数表示),

一个指数部分

console.log(3.14159269);
console.log(5e4);       //50000
console.log(5e-4)       //0.0005

注意:

只有十进制有小数的字面量,八进制、十六进制没有小数的字面量。所以小数没有进制之分

1.3 特殊字面量

Infinity 无穷大

Infinity 用于存放表示正无穷大的数值。

-Infinity 用于存放表示负无穷大的数值。

console.log(3e31415926);     // Infinity

NaN

英语全名叫做not a number,不是一个数。

console.log(0/0);   // NaN
1.4 总结一下,
  • 数字字面量有整数字面量(十进制、16进制、八进制),
  • 浮点数字面量(要记住e),
  • 特殊字面量:Infinity,NaN
2. 字符串的字面量

字符串是一个术语,说白了就是我们人说的话。

2.1 字符串字面量的书写方式

字符串的字面量有限定符,就是必须用双引号、单引号包裹起来。字符串被限定在同种引号之间;也就是说,必须是成对单引号或成对双引号。

console.log("今天你好帅哦");
2.2 特殊字符

在字符串中可以使用一些特殊字符,他们有特定的含义

\n New line 换行符
\t Tab tab缩进

但是可以使用字符串中可以使用转义字符,

’ 单引号
\” 双引号
\ 反斜杠

二.变量

变量(Variables),和高中数学中的x、y、z很像,它们此时不是字母,而是蕴含值的符号。

什么是变量呢?

就是值可以变化的符号,能够存储JS不同数据类型的值

1. 变量声明

使用关键词var

var a;  // 声明一个变量a

所谓关键字,就是有特殊功能的小词语。关键字后面一定要有空格隔开.

2. 变量命名规则

变量的名字就是标识符**(identifiers),**任何标识符的命名都需要遵守一定的规则:

JS中标识符的定义规则,可先理解为变量的规则,以后我们还会接触到其他标识符

  • 由字母、下划线(_)、美元($)符号、数字(0-9)组成

  • 但不能以数字开头

    也就是说,一个标识符必须由字母、下划线、美元符号开头,后续可以有字母、下划线、美元符号、数字

  • 严格区分大小写

    所以A和a不是同一个变量

  • 不要使用中文变量名

  • 不能使用关键字和保留字

    关键字=>js已经赋予特殊功能的字 保留字=>js预订可能未来要使用的字

关键字:

JS语法中有特殊意义的词

break、else、new、var、 case、 finally 、 return、 void 、 catch 、for 、switch 、 while 、 continue、 function 、this 、 with 、default 、 if 、 throw 、 delete 、 in 、 try 、do 、 instranceof、 typeof

保留字:

JS语法中现在不存在,但是以后会成为关键字的单词(替补关键词)

abstract 、 enum 、int 、 short 、 boolean 、export 、interface、 static、 byte 、extends 、 long 、 super 、 char 、 final 、native 、synchronized 、 class 、float 、 package 、throws 、 const 、goto 、private 、transient 、 debugger 、 implements 、protected 、 volatile 、 double 、import 、public

3. 变量的赋值

等号表示赋值,会将等号右边的值,赋给左边的变量。。

var a;		//定义
a = 200;	//赋初值
console.log(a);

运行结果:200

用 var 声明的未赋初值的变量,值会被设定为undefined

变量只需要var一次,今后更改变量的值,无需重复var

4. 变量声明的提升

JavaScript 变量的另一特别之处是,你可以引用稍后声明的变量,而不会引发异常。这一概念称为变量声明提升.JavaScript 变量感觉上是被“举起”或提升到了所有函数和语句之前。然而提升后的变量将返回 undefined 值,所以即使在使用或引用某个变量之后存在声明和初始化操作,仍将得到 undefined 值。

5. 不写var的情况呢

我们可以直接使用一个变量,直接给它赋值,不写var。系统不会报错,但是这样做,以后你会发现有后遗症:这个变量不是局部变量,而是一个全局变量。

a = 33;
console.log(a);
7. 同时定义多个变量

定义多个变量时,中间用逗号隔开

var a = 7 , b = 9 , c = 10;
8. 区分变量还是直接量

变量的时候,不能加引号。如果变量加上引号,就变成字符串的直接量了。

var a = 200;
console.log("a");     //a

引号是“字符串”的定界符,所以在双引号里面的a已经失去了变量的意思,就是一个字符串a。

三. 数据类型

JavaScript中的值,无论是字面量还是变量,都有明确的类型。

1. 概述

1.1 基本类型5种

number 数字类型

string 字符串类型

boolean 布尔类型,仅有两个值true 和 false,讲if语句时我们细说

undefined undefined类型,这中类型值只有一个,就是undefined

null null类型,这种类型的值也就只有一个null,之后在说

1.2 引用类型

{ } 普通的对象

[ ] 数组对象

function 函数对象

学到了在讲

2. 数据类型的检测

使用typeof关键字检查数据类型,通常用来检测变量的类型,以为直接量的类型一眼就看的出来

检测出的数据类型是以字符串形式呈现的

console.log(typeof 123);       //number
console.log(typeof "haha");       //string

四. 运算符:加号 +

我们先讲一个运算符加号,因为它比较特殊,我们先讲

加法运算符(+)在设计数字和字符串运算的表达式中,JavaScript 会把数字值转换为字符串。

在其它类型数据运算时,JavaScript语言不会把数字变为字符串。

五. 数据类型转换
1. 转 number

有一些方法可以将内存中表示其他数据类型转换为对应的数字

  • Number()

    1. string “12px” => NaN “” => 0
    2. boolean true => 1 false => 0
    3. null null => 0
    4. undefined undefined => NaN
  • parseInt()

    parseInt 仅能够返回整数,所以使用它会丢失小数部分

    parseInt("250px")		//250
    

    另外,调用 parseInt 时最好总是带上进制(radix) 参数,这个参数用于指定使用哪一种数制。

    parseInt(17,8);      // 15
    
  • parseFloat()

    parseFloat就是将字符串转为浮点数

    尽可能的将一个字符串转为浮点数

     console.log(parseFloat(123.456.888));   //123.456
    

    也就是说,数字类型都是number,不分整数和浮点数,但是转换的时候分。

2. 转 string
  • + 号运算符

    将一个数字,与一个空字符串进行连字符运算,那么就是自动转为字符串了。

    var a = 123;
    var b = a + "";
    console.log(b);
    console.log(typeof b);
    
3. 转 boolean
  • Boolean() 方法

    只有六种情况Boolean(被转换的数据)的结果是false,其余全是true

    1. 0 数字0
    2. NaN 数字NaN
    3. “” 空字符串
    4. false 布尔值false
    5. undefined undefined类型
    6. null null类型

    用的不多了解几个,大多用隐式转换,这个后面会将,先了解

今天遇见的所有API:

alert(“您好”);

prompt(“请输入数字”,“默认值”);

console.log(“您好”);

Number(“33”)

parseInt(“250”,8);

parseFloat(“250.666”);

Boolean("")

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oBj-小飞猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值