您的位置:首页 > Web前端 > JavaScript

每天学习十分钟23之JavaScript

2016-02-03 16:35 302 查看
《JavaScript 权威指南》学习笔记

3.3 文本

对象转换为原始值所有的对象继承了两个转换方法。第一个是toString( )方法,它的作用是返回一个反映这个对象的字符串。很多类定义了很多特定版本的toString( )方法。例如,数组类的toString( )方法将每个数组元素转换为一个字符串,并在元素之间添加逗号后合并成结果字符串;函数类的toString( )方法返回这个函数的实现定义的表示方式;日期类定义的toString( )方法返回了一个可读的日期和时间字符串;RegExp类定义的toString( )方法将RegExp对象转换为表示正则表达式直接量的字符串:

[1,2,3].toString()                 // => "1,2,3"
(function(x) { f(x); }).toString() // => "function(x) {\n f(x); \n}"
/\d+/g.toString()                 // => "/\\d+/g"
new Date(2010,0,1).toString()     // => "Fri Jan 01 2010 00:00:00 GMT-0800(PST)"


另一个转换对象的函数是valueOf( ):如果存在任意原始值,它就默认将对象转换为表示它的原始值。使用valueOf( ),数组、函数和正则表达式都会返回对象本身,日期类则会返回:1970年1月1日以来的毫秒数。

var d = new Date(2010,0,1); // 2010年1月1日 (太平洋时间)
d.valueOf();                // => 1262332800000


⑧变量声明

在JavaScript程序中,使用一个变量之前应当先声明,变量是使用关键字var来声明的,也可以通过一个var关键字来声明多个变量:

var i, sum;


而且还可以将变量的初始赋值和变量声明合写在一起:

var message = "hello";
var i = 0, j = 1, k = 2;


如果未在var声明语句中给变量指定初始值,那么虽然声明了这个变量,但在给它存入一个值之前,它的初始值就是undefined。

⑨变量作用域

一个变量的作用域(scope)是程序源代码中定义这个变量的区域。全局变量拥有全局作用域,在JavaScript代码中的任何地方都是有定义的。然而在函数内声明的变量只在函数体内有定义,它们是局部变量,作用域是局部性的。函数参数也是局部变量,它们只在函数体内有定义。

在函数体内,局部变量的优先级高于同名的全局变量。如果在函数内声明的一个局部变量或者函数参数中带有的变量和全局变量同名,那么全局变量会被局部变量所覆盖。

尽管在全局作用域编写代码时可以不写var语句,但声明局部变量时则必须使用var语句。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: