002JS之ECMAScript和function

1.ECMAScript

1.1 JS组成

ECMAScript:js核心语法、数据类型…;
DOM文档对象模型:访问和操作HTML文档的方法规定;
BOM浏览器对象模型:浏览器描述当前窗口的属性和状态的内存全局对象

1.2 数据类型

为什么要换分数据类型?:不同类型的数据会有不同的特征和不同的操作方法。
数据类型分类

  • 按照ECMASCript划分,分为简单类型和复合类型两种。
    简单类型:Number、String、Boolean、null、undefined、symbol(ES6);
    复合类型:Object(Array、function、element、elements、类json的{}…)
  • 按照typeof检测划分,number、String、Boolean、function、undefined、symbol、object

1.3 typeof

typeof data:用于检测数据的类型,需要注意的是检测结果与ECMAScript规定的数据类型并不完全一致,例如null值在ECMAScript中被规定为基本数据类型,在typeof检测中被检测为object。

1.4 数据类型转换

数据类型的转换通常为转成数字、转为布尔、转为字符串。

1.4.1 转为数字

  • 转为整数:parseInt(data[,radix]);
    第一个参数是需要转成数字的数据,第二个参数是声明要转的数据进制基数;需要注意的是,0x为十六进制标识,没有指定基数时,直接转换以0x开头的数据时,是按照十六进制进行转换;
    转换规则为不是字符串的数据先转为字符串数据,然后从左至右进行逐位转换,遇到非基数进制的数字会停止转换,若第一位就是非基数进制的数字,结果为NaN;
    此函数的第一个功能将非数字转换为数字,第二个功能是将非整数数字转换为整数。
  • 转为浮点数:parseFloat(data);
    与parseInt函数不同的是,此函数只会转换十进制的数据,并且多转换一个小数点。
    需要注意的是js中,小数的计算会出现精度问题,原因是js底层进行计算时是先转为二进制,然后再进行计算的。
  • 转为数字:number(val);
    字符串类型,整个字符串均符合数字规则时,才能转成数字,否则为NaN;空字符串为0;
    布尔类型,true为1,否则为0;
    null为0;undefined为NaN;
    对象类型会先调用对象的toString方法转成字符串,再进行转换;空数组返回0;

1.4.2 转为布尔

boolean(val);数字非零为真,字符串非空串为真;null为假;NaN为假;对象为真;

1.4.3 转为字符串

string(val);数字返回数字字符串;undefined返回undefined字符串;null返回null字符串;布尔值返回相应的字符串;函数直接返回真个函数体组成的字符串;对象直接调用对象的toString方法进行转换。

1.4.4 隐式数据类型转换

有时候,数据类型的转换并不总是需要程序员进行直接编写代码进行的,有时js解析器在解析代码时,会自动将数据类型进行转换。例如非绝对比较时,整数和小数进行计算时等。

1.4.5 数据类型强制转换规则表

数据类型强制转换表

1.5 NaN

NaN是number数据类型的一个特殊值,但不是数字,它所具有的特性是自己也不等于自己,谁也不等于它。
isNaN(val);此函数判断是否为NaN,如果能合法转成数字就为false,否则就是true,即是NaN。

1.6 传值和传址

基本类型(简单类型)也被称作是传值类型,在这一类数据类型进行赋值、传参等操作时,传递的是真实的具体的值;
对象类型(复合类型)也被称作是传址类型,这一类型的数据在赋值、传参等操作时,传递并不是真实的具体的值,而是数据在内存中的引用地址。

2. function

2.1 函数基础

2.1.1 函数声明与调用

// 函数声明
function funcName(形参列表
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值