js高级程序设计(1/2章节)

复制代码
 前两天看了js高级编程的前两章,这两章是一些叙述性的东西,大部分是介绍了js的发展历史和与es5之前的一些差异。今天看了第三章,这章讲述了基础的知识点。

1.Number()和parseInt()、parseFloat()之间的区别:

javascript 复制代码
(1)Number()适用于任何的数据类型的转换,ParseInt和ParseFloat只是适用于将字符串转换为数值
(2)Number()可以将空字符串转换为0, 而后者是以读取到的第一个数字字符为标准,所以它在对空字符继续进行转换的时候,由于一直没有读取到数值字符,所以回返回NaN
(3)Number()只能识别十六进制的数值,对八进制的数值不会识别,它会直接忽略前导0,转换为十进制。后者可以通过再传递一个参数(基数)会对八进制和十六进制正常转换。                  如:Number('0Xaf')和parseInt('0Xaf', 16)
(4)parseFloat()会忽略前导0,只能识别第一个小数点,遇到第二个就停止解析,但会返回之前解析的数值。对十六进制的字符串进行解析的时候,直接返回的是0,这是和parseInt()的不同之处。

2.String()和toString()方法的区别:

javascript 复制代码
String可以将任何类型的数值转换为字符串,后者对于大部分的值可以转换为字符串,但对null和undefined不行,因为这两个数值没有toString()方法,只能进行强制转换

3.Object类型

scss 复制代码
 (1)可以通过new进行创建,对象中常用的属性和方法有这几个:Construct()(这里存放的是创建对象的函数)、hasOwnProperty()(里面的参数必须是字符串,可以判断一个对象实例中是否有这个属性)、isPrototypeOf(obj)(判断传入的对象是否是另一个对象的原型),这里在属性和方法在原型的应用中会见到。
 (2)对象有个valueOf()方法,第一次见到,var o = {valueOf: function() {return -1;}} 这样o的值就是-1,这里的valueOf会返回对象的字符串、布尔值、数值的表示

4.逻辑与和逻辑或

javascript 复制代码
(1)逻辑与和逻辑或都属于短路操作,即有一个值为符合条件的话就不会再去求职第二个值,这在平常的代码中经常看到,尤其是逻辑或操作。
(2)逻辑与就是只要其中一个操作数是NaN、null、undefined那么返回的结果就是这些数,如果第一个操作数为对象,则返回第二个操作数。如果第二个操作数为对象,则在第一个操作数为true的情况下,返回第二个操作数。如果两个操作数都是对象,则返回第二个操作数。
(3)逻辑或如果两个操作数都是NaN、null、undefined那么返回的结果就是这些数。如果第一个操作数为对象,则返回第一个操作数。如果第二个操作数为对象,则在第一个操作数为false的情况下,返回第二个操作数。如果两个操作数都为对象,则返回第一个操作数。

5.==和===

javascript 复制代码
 由于undefined派生于null,所以他们只是类似的数值,并不是同一种类型的值,null是一个空对象,undefined是应该有值但是未定义。所以null == undefined(true),null === undefined(false)

6.while循环和for循环的关系

css 复制代码
 以前没有深入了解过这种关系,今天看到了感觉它们都是扣在一起的。如果while循环不能实现,那么for循环也不能实现,可以这样理解,for循环实在while循环的基础上进行演化的,其灵活性更加强大。比如:for(var i = 0; i < 10; i++) {}在代码块外面也可以访问到i,猛然一看给人一种错觉,但是因为他是while的转换,可以转换为这样,var i = 0;while (i <  10) {i++;}这样也可以在外面访问到i。所以再去理解for外面访问i的问题应该就不难了。
 

7.for...in语句

javascript 复制代码
 这是进行循环对象属性的循环语句,在使用前要先确定该对象的值不是null或者undefined否则改循环代码不会执行,也不抛出错误。在循环过程中,属性的先后顺序可以不同,这是因浏览器的差异导致的。
 以上是今天看书后的总结,继续加油!
相关推荐
岁岁种桃花儿5 分钟前
Vue组件化编程第二篇:非单位件组件
前端·javascript·vue.js
晓得迷路了9 分钟前
栗子前端技术周刊第 146 期 - React 19.3、jQuery 1.0 20 周年、Bun 1.4.2...
前端·javascript·react.js
雪芽蓝域zzs9 分钟前
第四十四节:封装通用表格多选、批量操作组合式函数
前端·javascript·vue.js
ljt272496066110 分钟前
Vue笔记--路由
javascript·vue.js·笔记
CoderYanger30 分钟前
Java EE 进阶:2.3 JavaScript 综合案例
java·前端·javascript·css·职场和发展·java-ee·html
摸鱼仙人~44 分钟前
Vue 核心知识体系(大厂秋招方向)
前端·javascript·vue.js
mldong1 小时前
Node 开发者也有自己的轻量工作流引擎了:npm i 一行,5 分钟跑通一条审批流
javascript·后端·typescript
多加点辣也没关系10 小时前
JavaScript|第31章:表单与控件
开发语言·javascript·ecmascript
Highcharts.js13 小时前
常见报错排雷指南2:导出失败的官方解法
javascript·react.js·ecmascript·highcharts·可视化图表·导出模块失败·导出服务
梦想平凡14 小时前
百游棋牌源代码开发搭建教程(五):房间创建、座位分配与请求幂等实现
前端·javascript·数据库·源代码管理