代码改变世界

js变量作用域及基本包装类型

2017-03-04 15:21  老安的世界  阅读(195)  评论(0编辑  收藏  举报

变量复制的都是栈内存的内容,基本类型复制的是值,引用类型复制的是栈内存里的地址

所有函数的参数都是按值传递的。

基本类型用typeof 检测,引用类型的typeof都是object,所以用instaceof检测具体类型

基本类型不能用instanceof检测

var box=[];
var box1={};
var box2=/dd/;
/*box.instanceof Object;*/

document.write(box instanceof Array);
document.write(box1 instanceof Object);
document.write(box2 instanceof RegExp);

 

Number的静态属性

Number.MAX_VALUE;...

Number.prototype=‘’ ;  //用于增加新的属性和方法

var box=1000;
box.toString();//1000
box.toLocaleString();/1,000
document.write(box.toFixed(2));//1000.12
document.write(box.toExponential());//1.000123456e+3
var box=10008888;
document.write(box.toPrecision());//原值
document.write(box.toPrecision(2));//1.0e+7

String类型

属性:length,constructor,prototype

方法:charAt(m);charCodeAt(m);指定索引位置的字符

var box='this is a box';
var box='1234567890123';
/*document.write(box.length);//13
document.write(box.constructor);//function String() { [native code] }
document.write(box.charCodeAt(2));//105
document.write(box.charAt(2));//i
document.write(box.concat('111','222'));//this is a box111222
document.write(box.slice(4,7));//截取is
document.write(box.substring(4,7));//截取is*/
/*document.write(box.substr(4));//從第四位
document.write(box.substr(4,7));//從第四位,截取7位*/
/*document.write(box.slice(-2));//后2位
document.write(box.slice(-2));//后2位
document.write(box.substring(-2));//負數返回全部字符串*/
//找不到返回-1
document.write(box.indexOf('2',0));//1
document.write(box.lastIndexOf('2',12));//11,从末尾往前搜索,最后一次出现2的位置

 可用于正则的方法

var box="this IS a box";
document.write(box.search('is'));//2
document.write(box.match('is'));//is
document.write(box.split(' '));//以空格分隔,组成数组
document.write(box.toLowerCase());//以空格分隔,组成数组
document.write(box.replace("is","--"));