JavaScript复习(字符串函数,类型转换)


JavaScript复习

字符串函数

$ var x = "JohnJohn";              // x 是字符串
y = x.charAt(2); // h
y = x.charCodeAt(2); // 104
y = x.concat(y, y); // JohnJohn104104, x+y+y
y = x.indexOf('h'); // 2, 索引从0开始
y = x.lastIndexOf('h'); // 6
y = x.slice();
y = x.split('o'); //J,hnJ,hn
y = x.substr(2); // hnJohn
y = x.substring(2,4) // hn,[2,3]
y = x.toLocaleLowerCase(); // johnjohn,小写
y = x.toLocaleUpperCase(); // JOHNJOHN,大写
y = x.toString(); // 转成Stirng
y = x.toUpperCase(); // JOHNJOHN,大写
y = x.trim(); // JohnJohn,去除两端的空格
y = x.valueOf(); // 返回某个字符串对象的原始值

JavaScript类型转换

类型

typeof "John"                 // 返回 string
typeof 3.14                   // 返回 number
typeof NaN                    // 返回 number
typeof false                  // 返回 boolean
typeof [1,2,3,4]              // 返回 object
typeof {name:'John', age:34}  // 返回 object
typeof new Date()             // 返回 object
typeof function () {}         // 返回 function
typeof myCar                  // 返回 undefined (如果 myCar 没有声明)
typeof null                   // 返回 object

请注意:

NaN 的数据类型是 number
数组(Array)的数据类型是 object
日期(Date)的数据类型为 object
null 的数据类型是 object
未定义变量的数据类型为 undefined
如果对象是 JavaScript Array 或 JavaScript Date ,我们就无法通过 typeof 来判断他们的类型,因为都是 返回 object。

//判断类型是否是数组
// constructor 属性
// constructor 属性返回所有 JavaScript 变量的构造函数。
var myarr=['a','b','c'];
function isArr(arr){
    return arr.constructor.toString().indexOf("Array") > -1;
}
var res=isArr(myarr);
//判断类型是否是Date
var mydate=new Date();
function isDate(date){
    return date.constructor.toString().indexOf("Date") > -1;
}
var res=isDate(mydate);

将数字转换为字符串

//1.
String(x)         // 将变量 x 转换为字符串并返回
String(123)       // 将数字 123 转换为字符串并返回
String(100 + 23)  // 将数字表达式转换为字符串并返回

//2.
x.toString()
(123).toString()
(100 + 23).toString()

将布尔值转换为字符串

//全局方法 String() 可以将布尔值转换为字符串。

String(false)        // 返回 "false"
String(true)         // 返回 "true"
//Boolean 方法 toString() 也有相同的效果。

false.toString()     // 返回 "false"
true.toString()      // 返回 "true"

将日期转换为字符串

Date()      // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

//全局方法 String() 可以将日期对象转换为字符串。
String(new Date())      // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

//Date 方法 toString() 也有相同的效果。
obj = new Date()
obj.toString()   // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

将字符串转换为数字

Number("3.14")    // 返回 3.14
Number(" ")       // 返回 0
Number("")        // 返回 0
Number("99 88")   // 返回 NaN

方法 描述
parseFloat() 解析一个字符串,并返回一个浮点数。
parseInt() 解析一个字符串,并返回一个整数。

自动转换类型

// 当 JavaScript 尝试操作一个 "错误" 的数据类型时,会自动转换为 "正确" 的数据类型。

// 以下输出结果不是你所期望的:

5 + null    // 返回 5         null 转换为 0
"5" + null  // 返回"5null"   null 转换为 "null"
"5" + 1     // 返回 "51"      1 转换为 "1" 
"5" - 1     // 返回 4         "5" 转换为 5

文章作者: Kuma
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Kuma !
 上一篇
JavaScript复习(正则表达式) JavaScript复习(正则表达式)
JavaScript复习概念正则表达式是由一个字符序列形成的搜索模式。 当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。 正则表达式可以是一个简单的字符,或一个更复杂的模式。 正则表达式可用于所有文本搜索和文本替换的操作。
下一篇 
JavaScript复习(运算、对象) JavaScript复习(运算、对象)
JavaScript复习JS 中的数据类型基本数据类型:number(数字类型的数据)string(字符串类型)boolean(布尔数据类型)object(对象类型) JS 中特殊数据类型undefined(未定义) NaN(不是一个数字)
  目录