每天一篇javascript学习小结(基础知识)


Posted in Javascript onNovember 10, 2015

1、字符转换

var s1 = "01";
  var s2 = "1.1";
  var s3 = "z";//字母'z'无法转换为数字,所以或返回NaN
  var b = false;
  var f = 1.1;
  var o = { 
   valueOf: function() {
    return -1;
   }
  };
  
  s1 = -s1; //value becomes numeric -1
  s2 = -s2; //value becomes numeric -1.1
  s3 = -s3; //value becomes NaN
  b = -b;  //value becomes numeric 0
  f = -f;  //change to -1.1
  o = -o;  // 1 先执行对象的valueOf()方法返回-1,--1为1

o = +o;//-1 o的valueOf()值为-1,+-1还是-1

2、特殊字符运算

var result1 = 5 - true; //4 because true is converted to 1
  var result2 = NaN - 1;  //NaN NaN不是一个数字,和任何数字做任何运算都是NaN
  var result3 = 5 - 3;  //2
  var result4 = 5 - "";  //5 because "" is converted to 0
  var result5 = 5 - "2";  //3 because "2" is converted to 2
  var result6 = 5 - null; //5 because null is converted to 0

3、变量转字符串运算

var value1 = 10;
  var value2 = true;
  var value3 = null;
  var value4;//value4 没有赋值就是underfined 转换为字符串就是'underfined'
  
  alert(String(value1));  //"10"
  alert(String(value2));  //"true"
  alert(String(value3));  //"null"
  alert(String(value4));  //"undefined"

4、数字的进制转换 

var num = 10;
  alert(num.toString());  //"10"默认十进制
  alert(num.toString(2));  //"1010"二进制
  alert(num.toString(8));  //"12"八进制
  alert(num.toString(10));  //"10"十进制
  alert(num.toString(16));  //"a"十六进制

5、字符串比较运算

var result1 = 5 > 3; //true
  var result2 = 5 < 3; //false
  var result3 = "Brick" < "alphabet"; //true 字符串比较按照字母表顺序进行比较 小写字母在大写字母后面
  var result4 = "Brick".toLowerCase() < "alphabet".toLowerCase(); //false字母表顺序比较
  var result5 = "23" < "3"; //true 字符2小于字符3
  var result6 = "23" < 3; //false 此时'23'转换成23了
  var result7 = "a" < 3; //false because "a" becomes NaN 字符'a'无法转换成数字
  var result8 = NaN < 3; //false NaN 和任何数字比较,都无法转换成数字,所以一直是false
  var result9 = NaN >= 3; //false

6、字符进制转换

var num1 = parseInt("AF", 16);  //175 按照16进制输出十进制数据 10*16+15*1
  var num2 = parseInt("AF");   //NaN 没有指定进制,默认按照10进制转换,由于AF不在十进制范围,返回NaN

  alert(num1);
  alert(num2);

7、parseInt的使用

var num1 = parseInt("1234blue"); //1234
  var num2 = parseInt("");   //NaN 字符''无法转换成数字
   var num3 = parseInt("0xA");   //10 - hexadecimal 16进制的A
  var num4 = parseInt(22.5);   //22
  var num5 = parseInt("70");   //70 - decimal
  var num6 = parseInt("0xf");   //15 16进制为15

8、Number对象的使用

var num1 = Number("Hello world!"); //NaN
  var num2 = Number("");    //0 空字符串可以转换成0 这个parseInt()不一样
   var num3 = Number("000011");  //11
  var num4 = Number(true);   //1

9、NaN用法     

alert(NaN == NaN);  //false
  alert(isNaN(NaN));  //true
  alert(isNaN(10));  //false ?10 is a number
  alert(isNaN("10"));  //false ?can be converted to number 10
  alert(isNaN("blue")); //true ?cannot be converted to a number
  alert(isNaN(true));  //false ?can be converted to number 1

10、系统最大数字

var result = Number.MAX_VALUE + 1;
alert(isFinite(result)); // false

11、Infinity无穷大

alert(5 * 6);   //30
  alert(5 * NaN);   //NaN
  alert(Infinity * 0); //NaN
  alert(Infinity * 2); //Infinity
  alert("5" * 5);   //25
  alert(true * 10);  //10
  alert(false * 10);  //0


alert(26 % 5); //1



alert(Infinity % 3); //NaN



alert(3 % 0); //NaN



alert(5 % Infinity); //5



alert(0 % 10); //0



alert(true % 25); //1



alert(3 % false); //NaN

12、for in 循环

for (var propName in window) {
    document.write(propName);
    document.write("<br />");
  }

13、特殊字符比较   

alert(null == undefined); //true
  alert(null === undefined); //false
  
  alert("NaN" == NaN);  //false
  alert("NaN" === NaN);  //false
  alert(NaN == NaN);   //false
  alert(NaN === NaN);   //false
  alert(NaN != NaN);   //true
  alert(NaN !== NaN);   //true
  
  alert(false == 0);   //true
  alert(false === 0);   //false
  alert(true == 1);   //true
  alert(true === 1);   //false
  
  alert(null == 0);   //false
  alert(undefined == 0);  //false
  
  alert(5 == "5");   //true
  alert(5 === "5");   //false

14、Boolean对象  

var message = "Hello world!";
  var messageAsBoolean = Boolean(message);
  
  alert(messageAsBoolean); //true

15、for循环与标签一起使用
break 语句和 continue 语句都可以与有标签的语句联合使用,返回代码中的特定位置。
通常,当循环内部还有循环时,会这样做,例如: 

var num = 0;
  //返回到特定的位置
  outermost:
  for (var i=0; i < 10; i++) {
    for (var j=0; j < 10; j++) {
    if (i == 5 && j == 5) {
     break outermost;
    }
    num++;
   }
  }
  
  alert(num); //55

在上面的例子中,标签 outermost 表示的是第一个 for 语句。正常情况下,每个 for 语句执行 10 次代码块,这意味着 num++ 正常情况下将被执行 100 次,在执行完成时,num应该等于 100。这里的 break 语句有一个参数,即停止循环后要跳转到的语句的标签。这样 break 语句不止能跳出内部 for 语句(即使用变量 j 的语句),还能跳出外部 for 语句(即使用变量 i 的语句)。因此,num最后的值是 55,因为当 i 和 j 的值都等于 5 时,循环将终止。
可以以相同的方式使用 continue 语句:

var iNum = 0;

outermost:
for (var i=0; i<10; i++) {
 for (var j=0; j<10; j++) {
 if (i == 5 && j == 5) {
 continue outermost;
 }
 iNum++;
 }
}

alert(iNum); //输出 "95"

在上例中,continue 语句会迫使循环继续,不止是内部循环,外部循环也如此。当 j 等于 5 时出现这种情况,意味着内部循环将减少 5 次迭代,致使 iNum 的值为 95。

提示:可以看出,与 break 和 continue 联合使用的有标签语句非常强大,不过过度使用它们会给调试代码带来麻烦。要确保使用的标签具有说明性,同时不要嵌套太多层循环。

以上就是今天的javascript学习小结,之后每天还会继续更新,希望大家继续关注。

Javascript 相关文章推荐
javascript之ESC(第二类混淆)
May 06 Javascript
jquery form表单提交插件asp.net后台中文解码
Jun 12 Javascript
javascript中的float运算精度实例分析
Aug 21 Javascript
JS 获取select(多选下拉)中所选值的示例代码
Aug 02 Javascript
判断一个变量是数组Array类型的方法
Sep 16 Javascript
jquery实现手机号码选号的方法
Jul 31 Javascript
JS实现的简洁二级导航菜单雏形效果
Oct 13 Javascript
JavaScript实现瀑布流布局
Jun 28 Javascript
jQuery内容过滤选择器用法示例
Sep 09 Javascript
js实现弹窗居中的简单实例
Oct 09 Javascript
VUE长按事件需求详解
Oct 18 Javascript
JavaScript构造函数原理及实现流程解析
Nov 19 Javascript
jQuery+CSS3实现3D立方体旋转效果
Nov 10 #Javascript
JavaScript中利用各种循环进行遍历的方式总结
Nov 10 #Javascript
简单学习JavaScript中的for语句循环结构
Nov 10 #Javascript
js密码强度校验
Nov 10 #Javascript
详解javascript函数的参数
Nov 10 #Javascript
JavaScript函数的一些注意要点小结及js匿名函数
Nov 10 #Javascript
javascript实现五星评分功能
Nov 10 #Javascript
You might like
php数组函数序列之array_intersect() 返回两个或多个数组的交集数组
2011/11/10 PHP
PHP求小于1000的所有水仙花数的代码
2012/01/10 PHP
php后门URL的防范
2013/11/12 PHP
php常用的url处理函数总结
2014/11/19 PHP
php通过修改header强制图片下载的方法
2015/03/24 PHP
php中memcache 基本操作实例
2015/05/17 PHP
PHPStrom 新建FTP项目以及在线操作教程
2016/10/16 PHP
Laravel 中创建 Zip 压缩文件并提供下载的实现方法
2019/04/02 PHP
慎用 somefunction.prototype 分析
2009/06/02 Javascript
javascript权威指南 学习笔记之javascript数据类型
2011/09/24 Javascript
jquery获取颜色在ie和ff下的区别示例介绍
2014/03/28 Javascript
JQuery中的html()、text()、val()区别示例介绍
2014/09/01 Javascript
浅谈JS获取元素的N种方法及其动静态讨论
2017/08/25 Javascript
JavaScript实现图片拖曳效果
2017/09/08 Javascript
jquery.picsign图片标注组件实例详解
2018/02/02 jQuery
angularjs自定义过滤器demo示例
2019/08/24 Javascript
解决vue项目axios每次请求session不一致的问题
2020/10/24 Javascript
[39:46]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第二场 11.25
2020/11/25 DOTA
python使用urllib模块开发的多线程豆瓣小站mp3下载器
2014/01/16 Python
调试Python程序代码的几种方法总结
2015/04/28 Python
Python 经典面试题 21 道【不可错过】
2018/09/21 Python
Ubuntu+python将nii图像保存成png格式
2019/07/18 Python
使用Python为中秋节绘制一块美味的月饼
2019/09/11 Python
python语言的优势是什么
2020/06/17 Python
详解Pandas 处理缺失值指令大全
2020/07/30 Python
HTML5 CSS3实现一个精美VCD包装盒个性幻灯片案例
2014/06/16 HTML / CSS
巴西独家产品和现场演示购物网站:Shoptime
2019/07/11 全球购物
澳大利亚100%丝绸多彩度假装商店:TheSwankStore
2019/09/04 全球购物
自我鉴定思想方面
2013/10/07 职场文书
名企HR怎样看待求职信
2014/02/23 职场文书
消防安全员岗位职责
2014/03/10 职场文书
考试作弊检讨书
2014/10/21 职场文书
门市房租房协议书
2014/12/04 职场文书
淘宝客服专员岗位职责
2015/04/07 职场文书
医院岗前培训心得体会
2016/01/08 职场文书
四年级语文教学反思
2016/03/03 职场文书