js字面量和变量

字面量

字面量是一些不可以改变的值,eg: 1 2 3 4 5 6
字面量是可以直接使用的,但是一般不会直接使用字面量。

变量

变量可以用来保存字面量,而且变量的值是可以任意改变的
通常使用变量来保存字面量

  • 声明变量
    在js中使用var关键字来声明一个变量:
     var a;
            a = 1;
            console.log(a);
            var c = 199;

标识符

  • 在js中所有的可以有我们自主命名的就是一个标识符
    eg:变量名、函数名、属性名
  • 命名规则
    (1)标识符可以有 字母、数字、_、$
    (2)标识符不能以数字开头
    (3)标识符不能是js中的关键字或保留字
    关键字:
    在这里插入图片描述
    保留字:
    在这里插入图片描述
    (4)标识符一般都采用小驼峰命名法
    首字母小写,其他每个单词的开头字母大写
    (5)JS底层保存标识符时实际上是采用的Unicode编码(UTF-8编码)。所以理论上讲,所有的utf-8中含有的内容都可以作为标识符。
    eg:汉字也可以
    但是不建议

数据类型

数据类型时间上就是指字面量的类型。
js种6种数据类型

字符串 String

需要使用单引号或双引号引起来,都可以用,但是不让混着用。

   var s = "hello";
            console.log(s);

如果需要引号嵌套,可以在双引号中使用单引号,或者单引号中使用双引号。

输出:

老师说:'清明节不放假'

字符串中可以使用 \ 作为转义字符,表示特殊符号的时候可以使用 \ 进行转义

console.log("老师说:\"清明节不放假\"")

输出:

老师说:"清明节不放假"

补充:
转义符

\ " 表示 "
\ ’ 表示 ’
\ n 表示 换行
\ t 表示 制表符
\ \ 表示 \

数值 Number

在js种所有的数值都是Number类型
包括整形和浮点型。
检查变量类型:typeof 变量

eg:

var a,b,c;
            a = 123
            b = 123.123
            c = "123"
            console.log(typeof a);
            console.log(typeof b);
            console.log(typeof c);

输出:

number
number
string

Number的最大值:

1.7976931348623157e+308

获取方法:

console.log(Number.MAX_VALUE)
  • Number类型的字面量:
    Infinity : 表示正无穷,是Number类型
    -Infinity : 表示负无穷,是Number类型
    NaN : 表示不是一个数字,是Number类型

  • 在JS中证整数的计算基本可以保持精确

  • 如果使用JS进行小数运算可能得出一个不精确的结果

  • 千万不要使用JS进行对精确度要求比较高的运算

布尔值 Boolean

Boolean:布尔值
布尔值只有两个:
true - 表示真
false - 表示假

var bool = false;
            console.log(typeof bool)
            console.log(bool)

输出:

boolean
false

控制 Null——专门表示空对象

Null类型的值只有一个,就是null
null专门用来表示空对象
eg:

var a = null;
            console.log(typeof a)
            console.log(a) 

输出:

object
null

未定义 Undefined

只有一个值,就是undefined,表示未定义
当声明一个变量,但是并不给变量赋值时,它的值就是undefined。

对象 Object

对象比较复杂,以后再说

强制类型转换

转换为String

指将一个数据类型强制转换为其他数据类型,一般会转换为:String,Number,Boolean

  • 方法一:调用被转换数据类型的 toString() 方法
    eg:
 var a = 123
            console.log("转换前a的类型:"+typeof a)
            console.log(a)
            var b = a.toString();
            console.log("转换后a的类型:"+typeof a)
            console.log(a)
            console.log("b的类型"+typeof b)

输出:

转换前a的类型:number
123
转换后a的类型:number
123
b的类型string

该方法不会影响到原变量,它会将转换的结果返回
但是注意:null和undefined这两个值没有toString()方法,如果调用他们的方法,会报错

  • 方法二:
    调用 String() 函数,直接转换成字符串。
    eg:
 var a = 123;
            a = String(a);
            console.log(typeof a);
            

输出:

 string

注意 : 使用String()函数进强制数据类型转换时:
对于Number和Boolean实际上就是调用对应的 toString() 方法
对于NULL 和 Undefine:
会将null直接转换为"null"
将undefined直接转换为“undefined“

转换为Number

  • 方法一
    使用 Number()函数
    eg:
 var a = "123";
            a = Number(a);
            console.log(typeof a);
            console.log(a);

输出:

number
123

字符串转number
(1)如果是纯数字的字符串,则直接将其转换为数字
(2)如果字符串中有非数字的内容,则转换为NaN
(3)如果字符串是一个空串或者是一个全是空格的字符串,则转换为0
Boolean转number
(1)true转换成1
(2)false转换成0
Null转number
null转换成0
Undefined转number
undefined转换成NaN

  • 转换方式二(专门对字符串使用)
    parseInt()可以将字符串中有效的整数的部分取出来,转换成Int
    parseFloat()作用和parseInt()类似,不同的是它可以获得有效的小数

eg:

   var a = "123.23a456bn";
           console.log(parseInt(a))
           console.log(parseFloat(a))
123
123.23

如果对非String使用parseint()或parseFloat()它会先将其转换为String,然后再操作

var a = 198.23;
           console.log(parseInt(a))
           console.log(parseFloat(a))

输出:

198
198.23

转换成boolean

方法:
调用Boolean()函数将a转换为布尔值
数字转Boolean
除了0和NaN是False,其余的都是true
String转Boolean
除了空字符串是False,其余都是true
null和undefine转Boolean
null和undefine都会转换为false

js中不同进制类型的表示

  • 16进制(前面加一个0x
a = 0x10

控制台以10进制输出

  • 8进制(前面加一个0)
a = 010
  • 2进制(前面加一个0b)
a = 0b10

但是不是所有浏览器都支持2进制

补充
使用parsetInt进行数据转换的时候,像"070"这种字符串,有些浏览器会当成8进制解析,有些会当成10进制解析,所以进行解析类型指定最好:parsetInt(字符串,转换进制类型)
eg:

var a = "070";
           console.log(parseInt(a,10))
           console.log(parseInt(a,8))

输出:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值