1. 循环

  1. for循环的三个参数abc,a只执行一次,c在每次循环后执行






// 打印0-100的质数 1不是质数
var list = [2]
for (var i = 3; i <= 100; i = i + 2) {var flag = falsefor (var j = 0; j < list.length; j++) {var cur = list[j]if (i % cur === 0 && cur !== i && cur !== 1) {flag = truebreak}}if (!flag) {list.push(i)}
}
console.log(list)

2. 引用值

typeof 操作符返回一个字符串,表示未经计算的操作数的类型。

typeof(123) // 建议该种写法:typeof是js内置的方法
typeof 123
typeof(数组、正则、对象、Date、基本包装类) // object
typeof(console.log) // function
typeof(1-1) // number
typeof(1-'1') // number
typeof('1'-'1') // number
typeof(typeof(原始类型/引用类型/函数)) // string
typeof(+) // 报错

3. 显式型转换

  • parseInt(num,radix) 别进制算成十进制
  • xx.toString(radix),十进制算成别进制
// Number目的要转换成数字
Number(null) // 0
Number(undefined) // NaN
Number('1a') // NaN
Number(true) // 1
// parseInt目的要转换成整型
parseInt(true) // NaN
parseInt(undefined) // NaN
parseInt(null) // NaN
parseInt('1a') // 1 从第一位开始看,不是数字就是放弃
parseInt('a1') // NaN
parseInt('1a1') // 1
// 十六进制 0123456789abcdef 10 11 12 13 14 15 16 17 18 19 1a
// 二进制 0 1 10 11 100 101 110 111
parseInt(10,radix) // 以radix为基数转换成十进制 radix-1 转换结果→16
// radix取值范围在2-36
parseInt('a',16) // 10
parseInt(10,16) // 16
parseInt(11,16) // 17
parseInt('1a',16) // 26parseFloat('1a') // 1 从第一位开始看,不是数字就是放弃
parseFloat('a1') // NaN
// 数字类型的toFixed()方法是四舍五入的String(null) // 'null'
String(undefined) // 'undefined'
null.toString() // 报错 Uncaught TypeError: Cannot read property 'toString' of null
undefined.toString() // 报错 null和undefined没有toString方法
toString(radix) // 要转成几进制
var a = 11 // 先声明一个数字类型的变量再调用
// 不要直接11.toString Uncaught SyntaxError: Invalid or unexpected token
a.toString(16) // b
// 或者用小括号括起来
(11).toString(16) // b

4.隐式类型转换

正负号

var a = '123'
console.log(++a) // 124
--------------------
+a // 123
-a // -123
var a = '123'
console.log(a++) // 123
  • Number的隐式类型转换要和Boolean false的6个值(’’,NaN,undefined,false,0,null)区分开,除了NaN和undefined转为NaN,其余都是0
  • undefined、null既不大于也不小于、等于0
  • undefined不能和数字比较,null可以和非0数字比较
// undefined、null既不大于也不小于、等于0 ?他们和数字比较时不会做Number转换
undefined > 0 // false
undefined < 0 // false
undefined == 0 // false
null > 0 // false
null < 0 // false
null == 0 // false
null == undefined // true
null === undefined // falseisNaN('a') // true

斐波那契数列:只知道前两项 1 1 ,其后每项为前两项之和
var n = 10
// 1 1 2 3 5 01 12 23 8 13 21
var list = [1, 1]
for (var i = 0; i < n - 2; i++) {var newVal = list[i] + list[i + 1]list.push(newVal)
}
console.log(list, list[n - 1])
  • 不使用数组,用移位的思想
  • window.prompt的返回值是字符串

补充

  • parseInt接收2个参数,遍历时index会作为radix传入
  • 无论怎么写,第二个一定是NaN,计算机没有1进制
const arr = [1, 2, 3, 4]
console.log(arr.map(parseInt)) //  [1, NaN, NaN, NaN]
// parseInt(val,index)
const arr = [1, 0, 1, 2]
console.log(arr.map(parseInt)) //  [1, NaN, 1, 2]


ES5-3 循环、引用值初始、显示及隐式类型转换相关推荐

  1. 显示类型转换和隐式类型转换

    显示类型转换 1.Number():函数把对象的值转换为数字,如果对象的值无法转换为数字,那么 Number() 函数返回 NaN. var a = 'true';console.log(typeof ...

  2. c语言float转换为int_C语言的隐式类型转换和显示类型转换

    C语言是一种强类型语言,当使用一种类型的对象代替另外一种类型的对象进行操作时,必须首先进行类型转换. 类型转换的方式,一般可分为隐式类型转换和显示类型转换(也称为强制类型转换). 1.隐式类型转换 隐 ...

  3. C语言----表达式求值之隐式类型转换

    前言: 表达式求值的顺序一部分是由操作符的优先级和结合性决定. 同样,有些表达式的操作数在求值的过程中可能需要转换为其他类型,称为隐式类型转换,下面给出隐式类型转换的详细讲解,希望对大家有所帮助~ 隐 ...

  4. 2.非关系型数据库(Nosql)之mongodb:mongodb显示所有数据库,使用数据库,集合创建(显示和隐式创建),集合查询,初步数据的增删改查,分页

     1代开一个cmd窗口,当作mongodb客户端,执行以下命令: mongo localhost:27017 2查看所有的数据库: > show dbs; admin (empty) loc ...

  5. App自动化02-元素定位、显示与隐式等待、常见控件交互方法

    1.demo案例 selenium 版本建议 3.141.0(pip install selenium==3.141.0) appium-python-client 版本建议 1.2.0 import ...

  6. Android中Intent的显示和隐式使用

    Android应用程序中组件之间的通信都少不了Intent的使用,Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件, ...

  7. Android笔记 隐式意图vs显示意图+隐式意图打开短信应用demo

    显示意图一般应用于同一个应用中 执行效率高 隐式意图用于不同的应用程序,要激活别的应用程序或者让自己的某一界面被别人激活 隐式意图执行过程: 1查询系统中所有Activity看有没有满足条件的Acti ...

  8. Win32下显示、隐式加载DLL的方法

    使用动态dll有两种方法,一种是隐式链接,一种显示链接,如果用loadlibrary就是显示链接,用lib就属于隐式链接. 两种方法对于你的程序调用动态库时没有任何区别,只是你在编程时,步骤是不一样的 ...

  9. python显示等待隐式等待

    在Selenium Webdriver中等待的方式简单可以概括为三种: 1.导入time包,调用time.sleep()的方法传入时间,这种方式也叫强制等待,固定死等一个时间 2.隐式等待,直接调用i ...

最新文章

  1. QT旋转按钮控件的实现
  2. Python 中print 和return 的区别
  3. AC日记——[USACO10MAR]仓配置Barn Allocation 洛谷 P1937
  4. 安装 Apache 2.4
  5. 评价类模型:1.层次分析法
  6. 刘强东卸任京东 CEO,“二号位”徐雷接棒:三大电商巨头“二把手”正式集齐
  7. 容器技术Docker K8s 31 容器服务ACK基础与进阶-弹性伸缩
  8. 塞班时代JAVA_回忆S60(塞班)年代的JAVA游戏:有没有哪一款是你在课堂偷偷玩的...
  9. 明月浩空播放器php源码,明月浩空音乐播放器
  10. 夏普计算机各键功能,夏普打印机按键说明
  11. mysql 全文索引查询所用关键词最小长度限制
  12. 2019hdu暑假多校训练赛第五场1004 equation hdu 6627 (高中数学题)
  13. 000webhost虚拟主机绑定自定义二级域名
  14. 为何日本手机走不出国门—iFanr版
  15. ARM与Calxeda/华芯通
  16. 如何查看centos7系统的服务器ip地址
  17. 小程序之定位签到打卡=>腾讯地图SDK
  18. 使用ESP32驱动ST7789,效果很好的IPS显示屏
  19. [数论 斐波那契] 51nod1355. 斐波那契的最小公倍数
  20. 基于MPS先进CFD软件Prometech.ParticleWorks.6.0.0.161003

热门文章

  1. oracle 抽样_深入理解Oracle动态采样
  2. qpython3怎样安notebook_Windows下基于Python3安装Ipython Notebook(即Jupyter)。python –m pip install XXX...
  3. linux semaphore,在CentOS 7操作系统上安装Semaphore的方法
  4. pytorch简单框架
  5. 使用Puppeteer进行数据抓取(一)——安装和使用
  6. composer(作曲家)安装php-ml
  7. 移动端常见的一些兼容性问题
  8. 获取进程CPU占用率
  9. 关于各种JOIN连接的解释说明【原创】
  10. jquery自动点击按钮