一、整数

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

转换:

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

特殊值:

  • NaN,非数字。可使用 isNaN(num) 来判断。
  • Infinity,无穷大。可使用 isFinite(num) 来判断。
<script>
num1 = ; // 定义一个数字
num2 = new Number(); // 创建数字对象
num3 = new Number();
console.log(num1,num2,num3.valueOf()); // 输出123 Number { 456 } 789 a = '';
console.log(typeof a); // 输出string
num4 = parseInt(a); // 将字符串转换成数字
console.log(num4); // 输出888 b = 'a123';
num5 = parseInt(b); // 无法转换则返回NaN
console.log(num5); // 输出NaN
if(isNaN(num5)){
console.log('b无法转换成数字,所以返回NaN');
}
else{
cosole.log('b能转换成数字');
} console.log(isFinite(num1)); // 判断是否为有限值,输出true
console.log(typeof num1); // 输出什么类型,输出number num6 = 12.888888;
console.log(num6.toFixed()); // 保留小数位,输出12.89
console.log(num6.toExponential()); // 12.89e+1
</script>

二、字符串

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

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

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

2、转义字符

、\n 软回车:

在Windows 中表示换行且回到下一行的最开始位置。相当于Mac OS 里的 \r 的效果。
在Linux、unix 中只表示换行,但不会回到下一行的开始位置。 、\r 软空格: 在Linux、unix 中表示返回到当行的最开始位置。
在Mac OS 中表示换行且返回到下一行的最开始位置,相当于Windows 里的 \n 的效果。 、\t 跳格(移至下一列)。 它们在双引号或定界符表示的字符串中有效,在单引号表示的字符串中无效。
\r\n 一般一起用,用来表示键盘上的回车键,也可只用 \n。
\t表示键盘上的“TAB”键。

\r\n\t的区别

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

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

格式编排方式

四、字符串的方法

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

方法如下:

s.strke()
s.big()
s.small()
s.sub()
s.sup()
s.fontcolor(color)
s.fontsize(size)
s.link(url)
s.toLowerCase() 把字符串转换成小写(注意源字符串内容不可变)
s.toUpperCase() 把字符串转换成大写
s.charAt(index) 获取指定位置下标字符
s.charCodeAt(index) 获取指定位置下标字符的unicode码
s.indexOf(substring) 返回第一次索引出现指定字符串的下表
s.lastIndexOf(substring) 返回最后一次出现指定字符串的下标
s.slice(str,[end]) 返回从start到ed-1范围内的字串;如果省略end则直接获取到字符串结尾
s.substring(start,[end])返回从start到end-1范围内的字串;如果省略end则直接获取到字符串结尾
s.split(separator,[count])使用指定分隔符对字符串进行拆分 和s.joun()相反的操作
s.concat(str1,str2..)用于拼接两个或者多个字符串,另外还可以使用+做字符串拼接 s.match(value/regexp)方法可以在字符串内检索指定的值,或者找到一个或者多个与正则表达式匹配的字串
,这个方法类似于indexOf()和lastIndexOf(),但是它返回的是指定的值,而不是字符串的位置
s.search(regexp)方法用于检索字符串中指定的字符串,或者检索与正则表达式相匹配的子字符串
返回第一个regexp相匹配的起始位置;如果没有找到任何匹配的字串,则返回-1
 s.replace(regexp, replacement)     替换,正则中有g则替换所有,否则只替换第一个匹配项,
                                     $数字:匹配的第n个组内容;
                                     $&:当前匹配的内容;
                                     $`:位于匹配子串左侧的文本;
                                     $':位于匹配子串右侧的文本
                                     $$:直接量$符号

例子
var msg="Hello";
var lowerMsg=msg.toLowerCase();
var upperMsg=msg.toUpperCase();
console.log(msg); //Hello
console.log(lowerMsg); //hello
console.log(upperMsg); //HELLO var msg1="hellO你好ll";
console.log(msg1.charAt()); //h
console.log(msg1.charAt()); //你 console.log(msg1.charCodeAt()); //
console.log(msg1.charCodeAt()); //
console.log(msg1.charCodeAt()); //
console.log(msg1.charCodeAt()); // console.log(msg1.indexOf("ll")); //
console.log(msg1.lastIndexOf("ll")); // console.log(msg1.slice(,));//hel
console.log(msg1.slice());//llO你好ll
console.log(msg1.substring());//llO你好ll
console.log(msg1.substring(,)); var data="aa||bb||cc";
        var arr1=data.split("||");
for(var i=0;i<arr1.length;i++){
console.log(i+ ":" +arr1[i]);
}
// 0:aa 1:bb 2:cc 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
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
 

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

var s4="aa";
var s5=s4+"bb"+"cc"+66;
console.log(s4)
由于字符串是不能改变的,
所以下面创建了s4一个
bb第二个
cc 第三个
s4+bb 第四个
s4+bb+cc 第五个
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. python按行读取apk中版本号、包名等信息

    主要是读apk中manifest.xml中的信息. 读单一apk信息:见“文件”中“apkInfo.xml”.实际运行时,需要将后缀由“.xml”改为“.py". 批量自动获取apk软件信息 ...

  2. Docker在Centos下使用Dockerfile构建远程Tomcat和Jenkins镜像

    镜像构建准备环境原料 构建CentOS Docker tomcat镜像 Dockerfile文件内容: FROM centos:latest MAINTAINER boonya <boonya@ ...

  3. C# readonly和const的不同以及它的具体用法

    在C#中,我们用const来定义常量.常量就是我定义一个变量,这个变量的值在整个软件的生命周期都不变.比如我想求一个圆形的面积,我就可以把π定义成一个常量,因为我事先知道圆周率是就是3.1415926 ...

  4. hdu3685(几何重心与凸包结合)

    题意:给一个多边形(有可能是凹多边形).问有多少种可以使得它稳定放置的方式.当然稳定的原则就是重心做垂线在支撑点之内. 解法:由于有可能是凹多边形,所以先求出多边形的凸包,这是在放置时候会接触地面的全 ...

  5. nginx內建模块使用

    目录 nginx內建模块使用 1. 內建模块的引入 1.1 查看安装信息 1.2 重新指定配置信息 2. 內建模块的使用 2.1 http_stub_status_module 2.2 http_ra ...

  6. docker教程之从一头雾水到不一头雾水(3)

    本文主要是介绍Docker容器的相关内容 容器创建 我们已经知道,镜像是只读的,而基于镜像创建出来的容器是可读写的,所以,一般我们实际中,会经常使用对应镜像创建容器并且使用这些容器.同样,如果我们想要 ...

  7. asp.net repeater Container.ItemIndex

    <asp:Repeater ID="myRepeater" runat="server"> <HeaderTemplate> <t ...

  8. HDFS源码分析数据块复制选取复制源节点

    数据块的复制当然需要一个源数据节点,从其上拷贝数据块至目标数据节点.那么数据块复制是如何选取复制源节点的呢?本文我们将针对这一问题进行研究. 在BlockManager中,chooseSourceDa ...

  9. 【Mac + Mysql + Navicat Premium】之Navicat Premium如何连接Mysql数据库

    参考文章: <mac用brew安装mysql,设置初始密码> 因为我需要连接数据库工具,需要密码,所以下面介绍如何设置.修改密码实现Navicat Premium连接Mysql数据库 建议 ...

  10. IE 下 log 调试的一点不同

    介绍一点IE下控制台调试与chrome的区别 数组 alert([1,2]) console.log([1,2]) console.log([1,2],"1,2") alert I ...