一、整数

JavaScript中不区分整数值和浮点数值,JavaScript中所有数字均用浮点数值表示。

转换:

  • parseInt(..)    将某值转换成数字,不成功则NaN
  • parseFloat(..) 将某值转换成浮点数,不成功则NaN

特殊值:

  • NaN,非数字。可使用 isNaN(num) 来判断。
  • Infinity,无穷大。可使用 isFinite(num) 来判断。
  1. <script>
  2. num1 = ; // 定义一个数字
  3. num2 = new Number(); // 创建数字对象
  4. num3 = new Number();
  5. console.log(num1,num2,num3.valueOf()); // 输出123 Number { 456 } 789
  6.  
  7. a = '';
  8. console.log(typeof a); // 输出string
  9. num4 = parseInt(a); // 将字符串转换成数字
  10. console.log(num4); // 输出888
  11.  
  12. b = 'a123';
  13. num5 = parseInt(b); // 无法转换则返回NaN
  14. console.log(num5); // 输出NaN
  15. if(isNaN(num5)){
  16. console.log('b无法转换成数字,所以返回NaN');
  17. }
  18. else{
  19. cosole.log('b能转换成数字');
  20. }
  21.  
  22. console.log(isFinite(num1)); // 判断是否为有限值,输出true
  23. console.log(typeof num1); // 输出什么类型,输出number
  24.  
  25. num6 = 12.888888;
  26. console.log(num6.toFixed()); // 保留小数位,输出12.89
  27. console.log(num6.toExponential()); // 12.89e+1
  28. </script>

二、字符串

1、创建字符串的两中类型

  1. // String对象用于处理文本字符串
  2. // 创建值类型字符串变量
  3. var name="pyrene";
  4. var gender="男";
  5. var priceString=String();
  6. // 创建应用类型字符串变量
  7. var carType=new String("BMW5");

只有new出来的String才是应用类型

2、转义字符

  1. \n 软回车:
  2.  
  3. Windows 中表示换行且回到下一行的最开始位置。相当于Mac OS 里的 \r 的效果。
  4. Linuxunix 中只表示换行,但不会回到下一行的开始位置。
  5.  
  6. \r 软空格:
  7.  
  8. Linuxunix 中表示返回到当行的最开始位置。
  9. Mac OS 中表示换行且返回到下一行的最开始位置,相当于Windows 里的 \n 的效果。
  10.  
  11. \t 跳格(移至下一列)。
  12.  
  13. 它们在双引号或定界符表示的字符串中有效,在单引号表示的字符串中无效。
  14. \r\n 一般一起用,用来表示键盘上的回车键,也可只用 \n
  15. \t表示键盘上的“TAB”键。

\r\n\t的区别

三、字符串的编排方式及类型

  1. 栈内存:小而快,保存值类型,(几十K
  2. 堆内存:大而慢,引用类型,栈中只有内存的编号,要通过此编号到堆中查找真正的数据
  3. 值内存 分配到栈内存里
  4. new只能分配堆(heep)内存
  5. 引用类型的数据永远比值内存访问速度慢,,引用类型引用的是这个值的内存地址,而不是数据,但是值内存是数据
  6.  
  7. 数据小用栈内存 值类型
  8. 大数据要用到 引用类型
  9.  
  10. 注意:字符串里面的内容永远是不可变的。所以String对象的方法都不能改变原始字符串的内容

格式编排方式

四、字符串的方法

注意字符串的内容都是“不可变的”

方法如下:

  1. s.strke()
  2. s.big()
  3. s.small()
  4. s.sub()
  5. s.sup()
  6. s.fontcolor(color)
  7. s.fontsize(size)
  8. s.link(url)
  9. s.toLowerCase() 把字符串转换成小写(注意源字符串内容不可变)
  10. s.toUpperCase() 把字符串转换成大写
  11. s.charAt(index) 获取指定位置下标字符
  12. s.charCodeAt(index) 获取指定位置下标字符的unicode
  13. s.indexOf(substring) 返回第一次索引出现指定字符串的下表
  14. s.lastIndexOf(substring) 返回最后一次出现指定字符串的下标
  15. s.slice(str,[end]) 返回从started-1范围内的字串;如果省略end则直接获取到字符串结尾
  16. s.substring(start,[end])返回从startend-1范围内的字串;如果省略end则直接获取到字符串结尾
    s.split(separator,[count])使用指定分隔符对字符串进行拆分 s.joun()相反的操作
    s.concat(str1,str2..)用于拼接两个或者多个字符串,另外还可以使用+做字符串拼接
  17.  
  18. s.match(value/regexp)方法可以在字符串内检索指定的值,或者找到一个或者多个与正则表达式匹配的字串
    ,这个方法类似于indexOf()和lastIndexOf(),但是它返回的是指定的值,而不是字符串的位置
    s.search(regexp)方法用于检索字符串中指定的字符串,或者检索与正则表达式相匹配的子字符串
    返回第一个regexp相匹配的起始位置;如果没有找到任何匹配的字串,则返回-1
 s.replace(regexp, replacement)     替换,正则中有g则替换所有,否则只替换第一个匹配项,
                                     $数字:匹配的第n个组内容;
                                     $&:当前匹配的内容;
                                     $`:位于匹配子串左侧的文本;
                                     $':位于匹配子串右侧的文本
                                     $$:直接量$符号
  1.  
  1. 例子
    var msg="Hello";
  2. var lowerMsg=msg.toLowerCase();
  3. var upperMsg=msg.toUpperCase();
  4. console.log(msg); //Hello
  5. console.log(lowerMsg); //hello
  6. console.log(upperMsg); //HELLO
  7.  
  8. var msg1="hellO你好ll";
  9. console.log(msg1.charAt()); //h
  10. console.log(msg1.charAt()); //你
  11.  
  12. console.log(msg1.charCodeAt()); //
  13. console.log(msg1.charCodeAt()); //
  14. console.log(msg1.charCodeAt()); //
  15. console.log(msg1.charCodeAt()); //
  16.  
  17. console.log(msg1.indexOf("ll")); //
  18. console.log(msg1.lastIndexOf("ll")); //
  19.  
  20. console.log(msg1.slice(,));//hel
  21. console.log(msg1.slice());//llO你好ll
  22. console.log(msg1.substring());//llO你好ll
  23. console.log(msg1.substring(,));
  24.  
  25. var data="aa||bb||cc";
  1. var arr1=data.split("||");
    for(var i=0;i<arr1.length;i++){
    console.log(i+ ":" +arr1[i]);
    }
    // 0:aa 1:bb 2:cc
  2. var data2="||aa||bb||cc||";
    var arr2=data2.split("||");
    for(var i=0;i<arr2.length;i++){
    console.log(i+":"+arr2[i])
    }
    // 0: 1:aa 2:bb 3:cc 4
  1. var s1="aa";
    var s2=s1.concat("bb","cc");
    console.log(s1); //aa
    console.log(s2); //aabbcc
    var s3=s2+"dd"+66;
    console.log(s3); //aabbccdd66
  1.  

问题:下面程序中一共创建了多少个字符串

  1. var s4="aa";
    var s5=s4+"bb"+"cc"+66;
    console.log(s4)
  1. 由于字符串是不能改变的,
  2. 所以下面创建了s4一个
  3. bb第二个
  4. cc 第三个
  5. s4+bb 第四个
  6. s4+bb+cc 第五个
  7. s5 第六个

答案6个

第三篇、javascript整数和字符串的更多相关文章

  1. [前端笔记]第三篇:JavaScript

    JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理. 一.代码存放位置 J ...

  2. 前端开发【第三篇: JavaScript基础】

    JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理. 一.如何编写 1.J ...

  3. 第三篇 JavaScript基础

    知识预览 BOM对象 DOM对象(DHTML) 实例练习 转:https://www.cnblogs.com/yuanchenqi/articles/5980312.html#_label2 一.Ja ...

  4. 前端第三篇---前端基础之JavaScript

    前端第三篇---前端基础之JavaScript 一.JavaScript概述 二.JavaScript的基础 三.词法分析 四.JavaScript的内置对象和方法 五.BOM对象 六.DOM对象 七 ...

  5. 深入理解javascript函数系列第三篇——属性和方法

    × 目录 [1]属性 [2]方法 前面的话 函数是javascript中的特殊的对象,可以拥有属性和方法,就像普通的对象拥有属性和方法一样.甚至可以用Function()构造函数来创建新的函数对象.本 ...

  6. 深入理解javascript函数系列第三篇

    前面的话 函数是javascript中特殊的对象,可以拥有属性和方法,就像普通的对象拥有属性和方法一样.甚至可以用Function()构造函数来创建新的函数对象.本文是深入理解javascript函数 ...

  7. 前端面试题总结(三)JavaScript篇

    前端面试题总结(三)JavaScript篇 一.谈谈对this的理解? this是一个关键字. this总是指向函数的直接调用者(而非间接调用者). 如果有new关键字,this指向new出来的那个对 ...

  8. javascript面向对象系列第三篇——实现继承的3种形式

    × 目录 [1]原型继承 [2]伪类继承 [3]组合继承 前面的话 学习如何创建对象是理解面向对象编程的第一步,第二步是理解继承.本文是javascript面向对象系列第三篇——实现继承的3种形式 [ ...

  9. 深入理解javascript作用域系列第三篇——声明提升(hoisting)

    × 目录 [1]变量 [2]函数 [3]优先 前面的话 一般认为,javascript代码在执行时是由上到下一行一行执行的.但实际上这并不完全正确,主要是因为声明提升的存在.本文是深入理解javasc ...

随机推荐

  1. android应用中插入admob广告

    Step One  登陆admob,注册用户 直接登陆http://www.admob.com/,用google的账号登陆 Step Two 登陆admob后,在站点和应用程序选项中 选择并添加and ...

  2. 多trac的安装和配置

    其他相关网页: trac+svn: http://wenku.baidu.com/view/84389a81ec3a87c24028c43f.html apache(GCI):http://hi.ba ...

  3. matplotlib表面三维图

    1.basic numpy.meshgrid 由一维数组到二维数组,用于生成网格数据 matplotlib python绘图库 2.code In [88]: from mpl_toolkits.mp ...

  4. 【HttpClient4.5中文教程】【第一章 :基础】1.1运行请求(二)

    很多其它HttpClient4.5中文教程请查看:点击打开链接 ==================================================================== ...

  5. 压力测试工具集合(ab,webbench,Siege,http_load,Web Application Stress)

    压力测试工具集合(ab,webbench,Siege,http_load,Web Application Stress) 1 Apache附带的工具ab ab的全称是ApacheBench,是Apac ...

  6. Atitit..jdk java 各版本新特性 1.0 1.1 1.2 1.3 1.4 1.5(5.0) 1.6(6.0) 7.0 8.0 9.0 attilax 大总结

    Atitit..jdk java 各版本新特性 1.0 1.1 1.2 1.3 1.4 1.5(5.0) 1.6(6.0) 7.0 8.0 9.0 attilax 大总结 1.1. Java的编年史2 ...

  7. 一个可以模拟GET,POST,PUT,DELET请求的HTTP在线工具

    一个简陋的HTTP请求工具,UI比较丑陋.0.0,可以用于接口调试. 之前在调试公司的远程接口的时候用的是curl,后来也在网上找到几种Http请求模拟的客户端程序.当时后来发现google app ...

  8. ApplicationContextRunner如何简化自动配置测试

    1. 概览 众所周知,自动配置是Spring Boot的关键功能之一, 但测试自动配置可能会很棘手. 在以下部分中,我们将展示ApplicationContextRunner如何简化自动配置测试. 2 ...

  9. 玩转JPA(一)---异常:Repeated column in mapping for entity/should be mapped with insert=&quot;false&quot; update=&quot;fal

    近期用JPA遇到这样一个问题:Repeated column in mapping for entity: com.ketayao.security.entity.main.User column: ...

  10. shell 遍历所有文件包括子目录

    1.代码简单,但是难在校验,不像python那么好理解 建议在Notepad++下编辑. 2.注意引用linux命令的`是[tab]键上面那个 3.if[] 这里 Error :  syntax er ...