demo six - NaN和isNaN方法
这个就不是坑了,这只是一个知识点
NaN(not a number)是javaScript中的一种特殊数值,类型是number,可以通过isNaN来判断一个词是否是NaN
console.log(isNaN(NaN)); //true
console.log(isNaN(23)); //false
console.log(isNaN('ds')); //true
console.log(isNaN('32131sdasd')); //true
console.log(NaN === NaN); //false
console.log(NaN === undefined); //false
console.log(undefined === undefined); //true
console.log(typeof NaN); //number
console.log(Object.prototype.toString.call(NaN)); //[object Number]
demo seven - 浮点数加减
来,咱们做一个简单的加法
console.log(0.1 + 0.2);
console.log(0.1 + 0.2 == 0.3);
结果分别是什么呢?
是不是0.3和true呢?
当然不是。。。。
是不是很意外。
这是因为在JavaScript 中的 number 类型就是浮点型,JavaScript 中的浮点数采用IEEE-754 格式的规定,这是一种二进制表示法,可以精确地表示分数,比如1/2,1/8,1/1024,每个浮点数占64位。但是,二进制浮点数表示法并不能精确的表示类似0.1这样 的简单的数字,会有舍入误差。
可以用toFixed()方法来指定输出的结果的位数
console.log((0.1 + 0.2).toFixed(1)); //0.3
console.log((0.1 + 0.2).toFixed(1) == 0.3); //true
demo eight - 判断数值是否为整型
如何判断一个number是否为整数
JS中有一个将数值转换成整型的方法:parseInt( )方法
可以利用这个方法来将其转换成整形再进行比较
function demo(x){
var y = parseInt(x , 10);
if (y === x) {
return true;
}else{
return false;
}
}
demo(30.2); //false
demo(30); //true
demo nine - 判断一个字符串是否为回文字符串
什么是回文字符呢?回文字符就是从左往右和从右往左完全一样的字符
网上的例子都用上了正则表达式,但是由于对正则了解不深,于是自己尝试着写了ge
// 第一种方法
function demo(str){
var arr = str.split("");
var m = arr.length;
res = new Array;
for (var i = 0; i < m; i++) {
if(arr[i] === arr[m-1-i]){
res[i] = "true";
}else{
res[i] = "false";
}
}
return res;
}
function demo2(str){
demo(str);
console.log(res);
if(res.indexOf("false") === -1){
console.log("str is");
}else{
console.log("str is not");
}
}
// 第二种方法
function demo(str){
var a = str.split("");
var b = a.reverse();
var c = b.join("");
if (str === c) {
console.log("str is");
}else{
console.log("str is not");
}
}
哈哈,代码写的不怎样,将就看吧!
demo ten - 如何执行函数内部的函数,直接用例子来说明
写一个sum方法,实现参数相加。那么下面这两个分别怎么写呢
sun(a , b);
sun(a)(b);
实际上你只要明白sum(a)(b)代表着什么是很好写出来的
sum(a)(b)代表先执行sum()方法,并且传入a参数,然后再执行sum()内部的返回方法,传入参数为b
function sum(){
arg1 = arguments[0];
if (arguments.length === 2) {
sum = arguments[0] + arguments[1];
console.log(sum);
}else{
return function () {
return sum = arguments[0] + arg1;
}
}
}
sum(2)(3);