循环、引用值初识、显式及隐式类型转换

循环
initialization:一个表达式(包含赋值语句)或变量声明 常被用于初始化一个计数器
condition:条件表达式(可选的),用于确定每一次循环是否能执行,如果没写就认为永远为真
final-expression:循环的最后要执行的表达式,在下一次条件condition之前,常用于更新计数器
continue跳过当前这一次循环继续下次循环

for ([initialization]; [condition]; [final-expression])
   statement
  // 打印0-100的数()只能有一句,不能写比较 {}不能出现i++ i--
    var i = 100
    for(;i--;){
         console.log(i)
     }
    // 打印100以内的质数 质数仅仅能被1和自己整除的数 1不是质数
var c = 0;
for(var i = 1; i < 100; i++){
    for(var j = 1; j <= i;j++){
        if(i % j == 0){
            c++;
        }
    }
    if(c == 2){
        console.log(i);
    }
    c = 0;
    
}

引用值
array object function date RegExp

typeof()方法
// number string boolean object(引用类型)

typeof (null);// 是object

null本身是一个指向空对象的指针即空对象的占位符
在这里插入图片描述

typeof (undefined);//返回undefined

在这里插入图片描述
typeof(function(){}) 返回 function
在这里插入图片描述

typeof(1 - 1); //number
typeof1 - '1'); // number
typeof'1'- '1'); // number

在这里插入图片描述
在这里插入图片描述
typeof(‘1’ - ‘1’) 返回number
在这里插入图片描述
打印一个未定义的a 返回
在这里插入图片描述
然后再打印console.log(typeof(a)) ,typeof一个未定义的东西,得到的就是undefined
在这里插入图片描述
typeof(typeof(123)) 任何typeof的结果再typeof都会会返回string, 因为里面的typeof(123)得到的类型是一个字符串,所以会打印出string
在这里插入图片描述
显示类型转换/隐式类型转换(主要是三种 tostring tonumber toboolean)
显示类型转换:通过函数String()、Number()、Boolean()
Number()
string类型转number
“” " " " " 转成0
Number(“”) 0
Number(" “) 0
Number(” ") 0
Number(“1a”) typeof(Number(“1a”) )是NAN 就是说字符串中有非数字就是转成NAN
parseInt(要转换的数,radix),有2个参数,第二个参数表示转换数字想要的进制。进行转换时会取整。
parseInt(),从第一个数字依次往后转换,如果第一个就是非数字则结果是NaN

	var a = '123';
	console.log(Number(a)+ ' -'+ typeof(Number(a));//123-number

	var a = 'true';
	console.log(Number(a)+ ' -'+ typeof(Number(a));//NaN-number

	var a = false;
	console.log(Number(a)+ ' -'+ typeof(Number(a));//0-number
	var a = null;
	console.log(Number(a)+ ' -'+ typeof(Number(a));//0-number

	var a = undefined;
	console.log(Number(a)+ ' -'+ typeof(Number(a));//NaN-number

	var a = '3.14';
	console.log(Number(a)+ ' -'+ typeof(Number(a));//3.14-number

	var a = 'a';
	console.log(Number(a)+ ' -'+ typeof(Number(a));//NaN-number

	var a = '123';
	console.log(parseInt(a)+ ' -'+ typeof(parseInt(a));//123-number

	var a = true;
	console.log(parseInt(a)+ ' -'+ typeof(parseInt(a));//NaN-number

parseFloat() 只解析十进制,从左往右如果第一个就是非数字,则结果就是NAN
否则,从左往右,遇到小数点后第一个非数字,从这个字符开始就停止转换,前面的转换成功
toFixed()会四舍五入

var num = parseFloat('3.13644');// 3.13444
console.log(num.toFixed(2));//toFixed保留几位小数

任何基本类型String()都得到对应的字符串 toString(radix)可以填进制
String(null) null
String(undefined) undefined
String(123) ‘123’
String(true) ‘true’
undefined和null没有toString方法
转Boolean类型 除了 false null undefinef ‘’ 0 NaN 都转成true

隐式类型转换

var a = '123';
a++;
console.log(a);//124

var a = 'a' + 1;
console.log(a);//a1

var a = '3' * 1;// * / % string都先转成number
console.log(a);//3

var a = '1' > 2; //比较运算符都要经过隐式转换
console.log(a);//false

var a = 1 === '1'; //不会隐式转换
console.log(a);//false

 NaN == NaN;//false

var a = '2' > 1 > 3;
console.log(a);//false

var a = undefined > 0;
console.log(a);//false

var a = undefined == 0;
console.log(a);//false

var a = null == 0;
console.log(a);//false

var a = undefined == null;
console.log(a);//true
var a = undefined === null;
console.log(a);//false

isNaN() 先经过Number()转换

console.log(isNaN(NaN));//true
console.log(isNaN(123));//false

console.log(isNaN('a'));//true

console.log(isNaN(null));//false
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值