JavaScript学习笔记(1)——数据类型和数据类型转换

目录

一、JS编写位置

二、注释

1.多行注释

2.单行注释

三、变量

四、标识符

1.标识符命名规则

五、数据类型

1.字符串String

2.数值Number

3.大整数BigInt

4.布尔值Boolean

5.空值Null

6.未定义Undefined

7.Symbol

8.对象Object

六、数据类型转换

1.转换为String

2.转换为Number

3.转换为Boolean

七、其他进制的数字


一、JS编写位置

js:从上到下执行

不推荐:把js写在标签属性内会出现结构与行为耦合,不方便维护

推荐编写方法:

可以将js写到外部文件中,通过<script>引入,有利于不同页面同时引用,利用到浏览器的缓存机制

但是一旦引入外部文件,就不能在这个内部<script>编写代码了,浏览器会忽略,除非新建一个新的<script>

<script type="text/javascript" src="js/script.js"></script>

二、注释

1.多行注释

/*
这是一个多行注释
*/

2.单行注释

//这是一个单行注释

js内严格区分大小写
js每一条语句以分号结尾   不写浏览器会自动添加,但影响性能
js会自动忽略多个空格和换行

三、变量

字面量:不可以改变的量,可以直接使用,不方便统一修改

变量存储字面量,方便改变

变量声明:let   const   var   var没有块作用域,在块外仍可以访问

四、标识符

变量名、函数名、属性名都属于标识符

1.标识符命名规则

  • 标识符中可以含有字母、数字、_、$
  • 标识符不能以数字开头
  • 标识符不能是ES中的关键字或保留字
  • 标识符一般都采用驼峰命名法

     首字母小写,每个单词的开头字母大写,其余字母小写

     helloWorld   xxxYyyZzz

  • 类名会使用大驼峰命名法

     首字母大写,每个单词开头大写

  • 常量的字母会全部大写

JS底层保存标识符时实际上是采用的UTF-8编码(但不用汉字)

 

五、数据类型

1.字符串String

使用"   "或'   ',不要混用,推荐"   "

var str = "hello";
var str = 'hello';

双引号不能直接嵌套双引号,可以嵌套单引号

可以使用转义字符\进行嵌套

str = "我说:\"今天\t你真好看!\"";

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

2.数值Number

包括整数和浮点数(小数)

可以使用运算符 typeof 来检查一个变量的类型

console.log(typeof b);

JS中可以表示的数字的最大值
        Number.MAX_VALUE

        Number.MIN_VALUE 大于0的最小值

如果使用Number表示的数字超过了最大值,则会返回
        Infinity 表示正无穷
        -Infinity 表示负无穷

Infinity 可以是字面量

使用typeof检查Infinity会返回number

NaN 是一个特殊的数字,表示Not a Number

使用typeof检查一个NaN会返回number

重要点:

在JS中整数的运算基本可以保证精确

如果使用JS进行浮点运算,可能得到一个不精确的结果
        所以千万不要使用JS进行对精确度要求比较高的运算,例如计算精确度高的金额

3.大整数BigInt

大整数用来表示一些比较大的整数

大整数使用n结尾,它可以表示的数字范围是无限大

4.布尔值Boolean

true:表示真

false:表示假

5.空值Null

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

使用typeof检查一个null值时,会返回object

6.未定义Undefined

未定义类型的值只有一个,就是undefined

当声明一个变量,但是并不给变量赋值时,它的值就是undefined

使用typeof检查一个undefined时会返回undefined

7.Symbol

用来创建一个唯一的标识

对象中有些属性不想被用户轻易访问到,可以创建symbol,作为属性标识

let c = Symbol()

8.对象Object

1-7是原始值类型,原始值一旦创建就不可以修改

六、数据类型转换

将其他的数据类型,转换为String Number Boolean

1.转换为String

①调用被转换数据类型的toString()方法

        该方法不会影响到原变量,它会将转换的结果返回,可以用赋值方式获取

var a = 123;
a = a.toString();

注意:null和undefined这两个值没有toString()方法

②调用String()函数,并将被转换的数据作为参数传递给函数

        对于Number和Boolean实际上就是调用的toString()方法

        但是对于null和undefined,就不会调用toString()方法

                会将 null 直接转换为 "null"

                会将 undefined 直接转换为 "undefined"

a = null;
a = String(a);
			
a = undefined;
a = String(a);

2.转换为Number

①使用Number()函数

字符串 --> 数字

        如果是纯数字的字符串,则直接将其转换为数字

        如果字符串中有非数字的内容,则转换为NaN  可以用parseInt  或者parseFloat提取出来

        如果字符串是一个空串或者很多空格的字符串,则转换为0

布尔 --> 数字
        true = 1
        false = 0

null --> 数字     0  (空=0)

undefined --> 数字    NaN  (没赋值初始化)

②parseInt()   parseFloat()

专门针对字符串

注意,从左往右顺序读直到不是数字

var a = "123567a567px";
a = parseInt(a);
console.log(a);

上面显示是123567

var a = "123.456.789px";
a = parseFloat(a);
console.log(a);

上面显示是123.456

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

var a = true;
a = parseInt(a);
console.log(a);

上面显示是NaN   解释:先转换为"true",再转为数字int,所以为NaN

3.转换为Boolean

使用Boolean()函数

数字 ---> 布尔
        除了0和NaN,其余的都是true

字符串 ---> 布尔
        除了空串,其余的都是true

null和undefined都会转换为false

对象也会转换为true

var a = " ";			
a = Boolean(a);  //是true
a="";
a = Boolean(a);  //是false
a="false";
a = Boolean(a);  //是true

七、其他进制的数字

0b:2进制   (但是不是所有的浏览器都支持)*

0开头:8进制

0x:16进制

a = 070;   //a=56

像"070"这种字符串,有些浏览器会当成8进制解析,有些会当成10进制解析,要一致

var a = "070";
//可以在parseInt()中传递一个第二个参数,来指定数字转为的进制
//转为10进制,那么070肯定是8进制了
a = parseInt(a,10);

显示56

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值