JavaScript-系统对象
来源:互联网 发布:淘宝家具安装接单平台 编辑:程序博客网 时间:2024/06/05 21:15
javascript系统对象
javascript中的系统对象又分为了
1.本地的对象(非静态对象)
2.内置对象(静态对象)
3.宿主对象(浏览器提供的对象)
1.本地对象
什么是本地对象呢。
ECMA-262把本地对象(native object)定义为“独立于宿主环境的ECMAScript实现提供的对象”。
简单的来说,操作系统和浏览器就是,本地对象的宿主环境,就是用户的机器环境。把浏览器比喻成人,js的本地对象就是人肚子里的蛔虫。
在本地对象中包括了Object、Function、String、Array、Boolean、Number、Date、 RegExp、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError。
其中较为常用的有,Object、Function、Array、String、Boolean、Number、Date、RegExp、Error。
本篇博文主要介绍上面的这些。
1.1 object
object 是最为参见的对象
var a = ‘123’ 是一个object对象
var car = {type:”Fiat”, model:500, color:”white”};
也是一个对象。
var person = { firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
这么写也是一个object对象
var obj = new Object()
这是定义一个新的object对象。
1.2Function
或许看到Function很多人认为就是function是一个函数,但是并不是,function是函数,Function是类
在javascript我们声明了一个函数,实际上是创建了一个Function类的对象。
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
最简单的
function functionname(){执行代码}
通过这种形式,我们可以很清楚的看出所谓的函数只不过是Function类的一个对象而函数名只不过是对这个对象的引用。可以简单的把函数名理解成为一个指针,指向所引用的Function 类的实例。
Array
Array 对象用于在变量中存储多个值:
var abc = ["xiaoming","male","18"];
第一个索引值为0,第二个为1,往下推算
Array的属性
Array对象属性
其中较为常用的是concat(),pop(),push(),shift(),sort(),unshift(),splic(),toString()
这些方法的使用方法都是跟在数组后面
例如
var arr = new Array();
arr.push('1');arr.splic(',')
1.3 String
String 对象
String 对象用于处理文本(字符串)。
String 对象创建方法: new String().
var txt = new String("string");
或者更简单方式:
var txt = "string";
String的属性
常用的方法有
concat(),用于连接字符
var str = 'abc';str.concat('123');console.log(str);
输出
abc123
match()
var str = 'abc 123';console.log(str.match('abc'););
输出
abc
replace()
var str = 'abc 123';console.log(str.replace(/abc/,'cba'););
输出
cba 123
search
var str = 'abc 123';console.log(str.search(/123/));
输出
5(1出现的地方为第五个)
slice()
stringObject.slice(start,end)
var str = 'abc 123';console.log(str.slice(3))
输出
123;
console.log(str.slice(4,7))
输出
123;
split()
var str = 'abc,123';console.log(str.split(','));
输出
['abc','123']
Math()
math为数学运算对象
document.write(Math.round(4.7))输出5
document.write(Math.random())来返回一个介于 0 和 1 之间的随机数:0.9370844220218102
document.write(Math.floor(Math.random()*11)) 例子使用了 Math 对象的 floor() 方法和 random() 来返回一个介于 0 和 10 之间的随机数:3
Math.PIPI为圆周率,用于圆形的计算Math.cosMath.sinMath.tan为三角函数的运算
正则运算对象
RegExp 对象的方法
RegExp 对象有 3 个方法:test()、exec() 以及 compile()。
test()
test() 方法检索字符串中的指定值。返回值是 true 或 false。
test()test() 方法检索字符串中的指定值。返回值是 true 或 false。
由于该字符串中存在字母 “e”,以上代码的输出将是:
true
exec()
exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null
var patt1=new RegExp("e");document.write(patt1.exec("The best things in life are free"));
由于该字符串中存在字母 “e”,以上代码的输出将是:
e
您可以向 RegExp 对象添加第二个参数,以设定检索。例如,如果需要找到所有某个字符的所有存在,则可以使用 “g” 参数 (“global”)。
var patt1=new RegExp("e","g");do{result=patt1.exec("The best things in life are free");document.write(result);}while (result!=null)
由于这个字符串中 6 个 “e” 字母,代码的输出将是:
eeeeeenull
compile()
compile() 方法用于改变 RegExp。
compile() 既可以改变检索模式,也可以添加或删除第二个参数。
var patt1=new RegExp("e");document.write(patt1.test("The best things in life are free"));patt1.compile("d");document.write(patt1.test("The best things in life are free"));
由于字符串中存在 “e”,而没有 “d”,以上代码的输出是:
truefalse
2内置对象
ECMA-262把内置对象(built-in object)定义为“ 由ECMAScript实现提供的,独立与宿主环境的所有对象,在ECMAScript程序开始执行时出现”。这意味着开发者不必明确实例化内置对象,它已经被实例化了。ECMA只定义了两个内置对象,即Global和Math(它们也是本地对象,根据定义,所有内置对象都是本地对象)。
1)Math对象的常见属性:E(算术常量e,即自然对数的底数,约为2.718)、PI(圆周率,约为3.14159)。
Math对象的常见方法:
max(x,y): 返回x和y中较大的值;
min(x,y): 返回x和y中较小的值;
random(): 返回0~1之间的随机数;
round(x): 对数四舍五入;
floor(x): 对数向下取整;
ceil(x): 对数向上取整;
2)Global对象是ECMAScript中最特别的对象,因为实际上它根本不存在,不信,在浏览器console中输入Global,报错。
全局对象是预定义的对象,作为JavaScript全局函数和全局属性的占位符。全局对象不是任何对象的属性,所以它没有名称?。
在顶层JavaScript代码中,可以用关键字this来引用全局对象。但通常不必用这种方式引用全局对象,因为全局对象是作用域链的头,这意味着所有非限定性的变量和函数名都会作为该对象的属性来查询。例如,当JavaScript代码引用parseInt函数时,它引用的是全局对象的parseInt属性。 全局对象是作用域链的头,这意味着在顶层JavaScript中申明的变量都将成为全局对象的属性。 全局对象只是一个对象,而不是类。即没有构造函数,也无法实例化一个新的全局对象。 顶层属性(全局属性):NaN: 指示某个值是不是数字值;undefined: 未定义的值; Infinity: 正的无穷大的数值。 顶层函数(全局方法):isNaN(): 检测某个值是否为数值; isFinite(): 检测某个值是否为无穷大的值; Number(): 把对象的值转换为数值; String(): 把对象的值转换为字符串; Boolean(): 把对象的值转换为布尔值;parseInt(): 解析一个字符串并返回整数; parseFloat(): 解析一个字符串并返回浮点值;encodeURI(): 将字符创编码为URI; decodeURI(): 解码某个编码的URI; encodeURIComponent(): 将字符串编码为URI组件; decodeURIComponent(): 解码某个编码的URI组件; escape(): 对字符进行编码; unescape(): 对由escape编码的字符串进行解码; eval(): 计算JavaScript字符串,并把它作为脚本代码来执行;
3.宿主对象
所有非本地对象都是宿主对象(host Object),即由ECMAScript实现的宿主环境提供的对象。
所有的BOM和DOM对象都是宿主对象。 那如下代码中的oPerson对象呢,既不是ECMA官方定义的本地对象,也不是宿主对象,它是用户自定义的对象(user defined object)。
var oPerson = new Object();oPerson.name = "ting";oPerson.age = 23;
宿主对象中BOM的windows对象
比较常用的方法
window.open() - 打开新窗口
window.close() - 关闭当前窗口
window.moveTo() - 移动当前窗口
window.resizeTo() - 调整当前窗口的尺寸
Window Screen
常用的
screen.availWidth - 可用的屏幕宽度
<script>document.write("可用宽度:" + screen.availWidth);</script>
输出
可用宽度:1360
screen.availHeight - 可用的屏幕高度
<script>document.write("可用高度:" + screen.availHeight);</script>
输出
可用高度:728
Window Location
window.location 对象在编写时可不使用 window 这个前缀。
Window Location Href
<script>document.write(location.href);</script>
输出
http://write.blog.csdn.net/mdeditor#!postId=73849469
Window Location Pathname
<script>document.write(location.pathname);</script>
输出
/local-ntp.html
Window Location Assign
<html><head><script>function newDoc() { window.location.assign("http://www.w3school.com.cn") }</script></head><body><input type="button" value="加载新文档" onclick="newDoc()"></body></html>
结束语
本地对象是ECMA官方定义好的对象;内置对象也是本地对象,只包括Global对象和Math对象;宿主对象包括BOM和DOM对象。
- Javascript 什么是系统对象?
- JavaScript-系统对象
- JavaScript对象系统的使用
- JavaScript对象系统的使用
- JavaScript对象系统说明图
- javascript对象系统小得
- JavaScript对象系统的使用
- javascript常用系统对象用法
- JavaScript对象系统深入剖析-1.对象
- JavaScript对象系统深入剖析-1.对象
- 六 JavaScript对象系统的使用
- JavaScript技术讲座-使用内部对象系统
- JavaScript对象系统的使用 [6]
- JavaScript系统学习之二 <事件,对象>
- JavaScript对象系统深入剖析-内容列表
- JavaScript进阶 系统对象的学习运用
- Javascript类型系统[数组,对象,数据类型]
- javascript类型系统——包装对象
- MapReduce
- mapreduce,自定义分区,分组,排序实现join
- ArcGIS Runtime SDK for .NET 100.0中如何执行.gpk(一)
- 1234: Picture
- MAC python默认版本切换
- JavaScript-系统对象
- Ubuntu连接不上SSH解决办法
- 关于createjs的中心点和坐标之间的联系
- 视音频编解码技术零基础学习方法
- 工作记录
- 那些年,初学Android遇到的问题
- React Native入门——组件构成及生命周期简介
- 每次打开excel弹出要安装Microsoft.VisualStudio.QualityTools.LoadTestExcelAddIn.vsto的窗口
- apache的下载、配置以及端口转发的两种方式(server 2012)