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

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]

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/251217.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

hihocoder 二分

题目 一个简单的二分&#xff0c;只是想说明一下&#xff0c;如若要查找一个数组中某个数的下标可以直接用lower_bound()这个函数。只是要考虑到要查找的数不在数组中的这种情况。 #include <cstdio> #include <iostream> #include <algorithm> using namesp…

ubuntu开启ssh服务

更新资源列表&#xff1a;sudo apt-get update -> 输入管理员密码 安装openssh-server: sudo apt-get install openssh-server 查看 ssh服务是否启动&#xff1a;sudo ps -e |grep ssh 启动ssh服务&#xff1a; sudo service ssh start 转载于:https://www.cnblogs.com/ver…

javascript --- 判断只有1个为真

下面写一个用于判断只有一个为真的函数: function onlyOne(a,b,c){return !!((a && !b && !c) ||(!a && b && !c) || (!a && !b && c)); } var a true; var b false;onlyOne(a,b,b) // true onlyOne(a,b,a); // false上述…

13 代码分割之import静动态导入

前端首屏优化方案之一 项目构建时会整体打包成一个bundle的JS文件&#xff0c;而有的代码、模块是加载时不需要的&#xff0c;需要分割出来单独形成一个文件块chunk&#xff08;不会打包在main里&#xff09;&#xff0c;让模块懒加载&#xff08;想加载时才加载&#xff09;&a…

2018.01.01(数字三角形,最长上升子序列等)

2017.12.24 简单的动态规划 1.数字三角形(算法引入) 题目描述&#xff1a;下图所示是一个数字三角形&#xff0c;其中三角形中的数值为正整数&#xff0c;现规定从最顶层往下走到最底层&#xff0c;每一步可沿左斜线向下或右斜线向下走。设三角形有n层&#xff0c;编程计算出从…

Mac iOS 允许从任何来源下载应用并打开

一个快捷的小知识点&#xff0c;mark&#xff01; 允许从任何来源下载应用并打开&#xff0c;不用手动去允许&#xff0c;更加简洁&#xff01; 只需一行命令 sudo spctl --master-disable 1.正常情况下&#xff0c;打开偏好设置&#xff0c;选择安全性与隐私&#xff0c;界面是…

ES5-4 函数基础与种类、形实参及映射、变量类型

模块编程原则&#xff1a;高内聚&#xff0c;低耦合&#xff08;重复部分少&#xff09;&#xff0c;让一个模块有强的功能性、高的独立性 → 单一责任制&#xff0c;用函数进行解耦合。 1. 函数命名规则 不能以数字开头可以以字母_$开头包含数字小驼峰命名法 函数声明一定有…

javascript --- 抽象相等

字符串和数字之间的相等比较 var a 42; var b "42";a b; // false a b; // trueES5规范11.9.3.4-5定义如下: (1)如果Type(x)是数字,Type(y)是字符串,则返回 x ToNumber(y) 的结果 (2)如果Type(x)是字符串,Type(x)是数字,则返回 ToNumber(x) y 的结果// 总结…

Spring加载context的几种方法

Spring中的context管理 Spring中IOC容器的初始化&#xff1a; ApplicationContext即是保存bean对象的容器&#xff0c;故容器本身的初始化&#xff0c;就是通过一系列的配置&#xff0c;将ApplicationContext进行初始化。 而配置ApplicationContext大方向上分为了3中&#xff1…

centos 6.5 配置网络

编辑 vi /etc/sysconfig/network-scripts/ifcfg-eth0修改内容 DEVICE"eth0" BOOTPROTO"static" HWADDR"00:50:56:98:06:D0" IPV6INIT"no" MTU"1500" NM_CONTROLLED"no" ONBOOT"yes" TYPE…

ES5-5 参数默认值、递归、预编译、暗示全局变量

1. 参数默认值 默认是undefined形参可以有默认值&#xff0c;形参、实参哪个有值取哪个ES6&#xff0c;默认值属于ES6的内容&#xff0c;打印出的是符合人性化的结果形参有默认值&#xff0c;形参、实参无法统一、无论实参传入有值还是undefined&#xff08;代码表现&#xff…

javascript --- 优先级执行顺序

优先级网址 优先级: a && b || c ? c || b ? a : c && b :a// 从优先级网址可以看出 // &&的优先级为:6 // ||的优先级为:5 // ...?...:...的优先级为:4 所以上面的执行顺序为(括号的优先级最高为20): ((a && b) || c) ? (c || b) ?…

CodeForces 1009B(思路)

本来打算打打cf找找自信的&#xff0c;结果&#xff0c;死在了一个2000多人都做出来的B上&#xff0c;写了170多行wr在t4&#xff0c;大佬十几行代码就过了&#xff0c;难受啊。 #include <iostream> #include <cstring> #include <algorithm> #include <…

Delphi及C++Builder经典图书一览表(持续更新中2018.01.02)

序号书名原版书名作者译者出版社页数年代定价备注1CBuilder 5程序设计大全CBuilder 5 Developer’s GuideJarrod Hollingworth康向东、汪浩、黄金才等机械工业出版社13932002.1138.00元2CBuilder应用开发大全Borland C Builder 3 UnleashedCharlie Calvert,et al.徐科、冯焱、吕…

javascript --- 非交互、交互、协作、任务

非交互: var res {};function foo(results) {res.foo results; }function bar(results) {res.bar results; }ajax( "http://some.url.1", foo); ajax( "http://some.url.2", bar);// foo和bar彼此不相关,谁先执行都无所谓..不影响执行结果交互: // 交…

ES5-6 作用域、作用域链、预编译、闭包基础

1. 作用域 上一级在执行时&#xff0c;内部函数被定义&#xff0c;内部函数便生成作用域和作用域链&#xff08;拿上一级的环境&#xff09;&#xff0c;内部函数执行前生成自己的AO&#xff0c;并排在头部函数执行结束时&#xff0c;AO被销毁&#xff08;回到被定义时的状态&…

electron 项目的搭建方式,借助 node 和 npm

1&#xff0c;首先确定安装了 node 和 npm 2&#xff0c;创建一个文件夹&#xff0c;如 aa 3&#xff0c;CMD 命令进入到 aa&#xff0c;用 npm 命令初始化一个项目 4&#xff0c; npm -init 根据提示完成配置 5&#xff0c;安装 electron > npm i -D electronlatest, 这一…

zbb20171215 git 版本回退

1. 使用git log命令查看所有的历史版本&#xff0c;获取某个历史版本的id&#xff0c;假设查到历史版本的id是139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96。 2. git reset --hard 139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96 3. 把修改推到远程服务器 git push -f -u origin ma…

ES5-7 立即执行函数、闭包深入、逗号运算符

1. 立即执行函数 定义在全局的函数只有关闭浏览器或者退出程序才会释放IIFE: Immediately-Invoked Function Expression解决页面加载自动执行&#xff0c;执行完成后立即释放&#xff08;避免了只会执行一次的内容一直存在于全局&#xff09;IIFE用匿名函数或者函数声明&#…

es6 --- 解构赋值的简洁性

设想你有一个工具foo,它可以异步产生两个值(x和y): function getY(x) {return new Promise( function(resolve, reject) {setTimeout( function() {resolve( (3*x) -1 );}, 100);}); }function foo(bar, baz) {var x bar * baz;return getY(x).then( function(y){return [x, …