js-对象-2
对象:
对象是一组具有属性和方法的经过组织的数据。
默认对象:
日期对象;(日期基线:1970年1月1日00:00:00)
建立日期对象(实例):
格式:日期对象名称=new Date([日期参数])
日期参数:1.省略;
2.英文-数值格式:月 日,公元年 [时:分:秒]
如:today=new Date("October 1,2008 12:00:00")
3.数值格式:公元年,月,日,[时,分,秒]
如:today=new Date(2008,10,1)
日期对象的方法:
格式:日期对象名称.方法([参数])
获取当地时间:
getYear() 返回年份数
getFullYear() 返回年份数
getMonth() 返回月份数(0--11)
getDate() 返回日期数(1--31)
getDay() 返回星期数(0--6)
getHours() 返回时数(0--23)
getMinutes() 返回分数(0--59)
getSeconds() 返回秒数(0--59)
getMilliseconds() 返回毫秒数(0--999)
getTime() 返回对应日期基线的毫秒
Date.parse(日期字串) 返回对应日期基线的毫秒
setTime(时间值) 指定一日期对象的值
toGMTString() 以GMT格式表示日期对象
toUTCString() 以GMT格式表示日期对象
数组对象;
建立数组对象:
格式1:数组对象名称=new Array([元素个数])
格式2:数组对象名称=new Array([[元素1][,元素2,...]])
格式3:数组对象名称=[元素1[,元素2,...]]
例:
fruit=new Array(3);// fruit=new Array();
fruit[0]="苹果";
fruit[1]="梨子";
fruit[2]="橘子";
fruit=new Array("苹果","梨子","橘子");
fruit=["苹果","梨子","橘子"];
数组对象的属性:
格式:数组对象名称.属性
属性:length 数组长度
例:
<Script>
var fruit = new Array("苹果", "梨子", "橘子");
var i;
for (i=0; i < fruit.length; i++) {
document.write("fruit [", i, "] = ", fruit[i], "<br>")
}
</Script>
数组对象的方法:
格式:数组对象名称.方法([参数])
方法: join([分隔符]) 数组元素组合为字符串
toString() 以字符串表示数组
reverse() 数组反转
valueOf() 返回数组值
例:
<Script>
var fruit = new Array("苹果", "梨子", "橘子");
document.write("<LI>", fruit.join());
document.write("<LI>", fruit.join("、"));
document.write("<LI>", fruit.toString());
document.write("<LI>", fruit.reverse().join());
document.write("<LI>", fruit.valueOf());
</Script>
二维数组:
例:
<Script>
var fruit = new Array(3);
fruit[0] = new Array("苹果", 2);
fruit[1] = new Array("梨子", 4);
fruit[2] = new Array("橘子", 2);
for (i=0; i < fruit.length; i++) {
for (j=0; j < fruit[0].length; j++) {
document.write("fruit [", i, "][", j, "] = ", fruit[i][j],"<br>");
}
document.write("<br>");
}
</Script>
字符串对象;
建立字符串对象:
格式:字符串对象名称=new String(字符串常量)
格式:字符串变量名称="字符串常量"
字符串对象的属性:
格式:字符串对象名称.属性
属性:length 字符串长度
字符串对象的方法:
格式:字符串对象名称.方法
方法: bold() 粗体
italtics() 斜体
strike() 删除线
fontsize(字级大小) 文字大小
fontcolor(#rrggbb) 文字颜色
sup() 上标
sub() 下标
toUpperCase() 大写
toLowerCase() 小写
charAt(索引) 返回索引位置的字符
charCodeAt(索引) 返回索引位置的ASCII字符码,十进制表示
indexOf("字串"[,索引]) 返回字串在对象中的索引位置
lastIndexOf("字串"[,索引]) 返回字串在对象中的索引位置(反向搜索)
search("字串") 返回字串在对象中的索引位置
replace("字串1","字串2") 字串2替换字串1
slice(索引i[,索引j]) 返回索引i倒索引j-1的子串
split(["字串"][,限制]) 将字串从对象中删除
substr(start[,length]) 返回特定长度的字串
substring(索引i[,索引j]) 返回索引i倒索引j-1的子串
link("url") 设置链接
match(/匹配字符/) \d
匹配一个数字字符。
\D
匹配一个非数字字符。
\n
匹配一个换行符。
\r
匹配一个回车符。
\s
匹配一个空格符。
\S
匹配任意非空格符。
\t
匹配一个table符。
\W
匹配任何非单词符。
\num
匹配正整数num。
/n/
匹配八进制,十六进制,十进制的escape值。
toString() 返回字符串
valueOf() 返回字符串值
例1:
<Script>
var str = "JavaScript";
document.write(str.bold(),"<BR>");
document.write(str.fixed(),"<BR>");
document.write(str.fontcolor("red"),"<BR>");
document.write(str.fontsize(5),"<BR>");
</Script>
例2:
<Script>
var str = "JavaScript";
var num = 1234;
document.write(str.toUpperCase(), "<BR>");
document.write(num.toString().charAt(2),"<BR>");
document.write(str.substring(0,4), "<BR>");
</Script>
例3:
<Script>
var str = "JavaScript";
document.write(str, " 有 ", str.length, " 个字<BR>");
document.write(str.fontcolor("green"), " 不是 ");
document.write(str.substr(0,4).fontcolor("red"));
document.write(" 也不是 ", str.replace("Java", "VB"));
</Script>
例4:
<Script>
var str = "hubert@abc.com.cn";
var idx = str.search("@");
var usr = str.substr(0,idx);
document.write(usr.toUpperCase().fontsize(7), "<BR>");
document.write("你的电子信箱是", str);
</Script>
例5:
<Script>
function isEmail(){
var str = document.form1.add.value;
if (str.indexOf("@") == -1)
alert("请填写正确的EMail地址");
else
alert("OK!");
}
</Script>
<FORM name="form1">
请输入你的 EMail 地址:
<INPUT TYPE="text" name="add">
<INPUT TYPE="button" value="开始检查" onClick="isEmail()">
</FORM>
布尔对象;
建立布尔对象:
格式:布尔对象名称=new Boolean(转换值)
转换值:null、未定义、0、或false均转换成false
布尔对象的方法:
格式:布尔对象名称.方法
方法:toString()
valueOf()
例:
<Script>
x = new Boolean();
y = new Boolean(true);
z = new Boolean(0);
document.write(x, "<br>");
document.write(y, "<br>");
document.write(z, "<br>");
</Script>
数学对象;(静态对象)
数学对象的属性:
格式:Math.属性
属性: E 自然对数的底数
LN2 2的自然对数
LN10 10的自然对数
LOG2E 以2为底e的对数
LOG10E 以10为底e的对数
PI 圆周率
SQRT1_2 1/2的平方根
SQRT2 2的平方根
数学对象的方法:
格式:Math.方法(参数)
方法: ceil(数值) 大于等于该数值的最小整数
floor(数值) 小于等于该数值的最大整数
min(数值1,数值2) 最小值
max(数值1,数值2) 最大值
pow(数值1,数值2) 数值1的数值2次方
random() 0倒1的随机数
round(数值) 最接近该数值的整数
sqrt(数值) 开平方根
abs、sin(弧度)、cos、tan、asin、acos、atan、exp、log
例1:
<Script>
with (document) {
write("<LI>2 的平方根值是 ", Math.sqrt(2));
write("<LI>2 <sup>3</sup> = ", Math.pow(2,3));
write("<LI>最接近 3.14 的整数是 ", Math.round(3.14));
}
</Script>
例2:
<Script>
var now = new Date();
var firstDay = new Date("Nov 10, 1999");
var duration = now - firstDay;
var msPerDay = 24 * 60 * 60 * 1000; //换算成毫秒
days = Math.round(duration/msPerDay);
document.write("本网站已经开幕" + days + "天了");
</Script>
例3:
<Script>
var promote = new Array(3);
promote[0] = "拍卖区又有新货到了,赶快来捡便宜啊......"
promote[1] = "成为会员,马上享受八折优惠,还可以参加抽奖!";
promote[2] = "庆祝访问人数突破十万人次,填问卷就送大奖,快来啊!";
index = Math.floor(Math.random() * promote.length);
document.write(promote[index]);
</Script>
数值对象;
函数对象;
自定义对象。
自定义对象;
构造函数定义对象类型;
建立对象实例。
例:
<Script>
function member(name, sex) {
this.name = name;
this.sex = sex;
}
var papa = new member("杨宏文", "男生");
var mama = new member("黄雅玲", "女生");
var doggy = new member("奇 奇", "宠物狗");
document.write(papa.name);
document.write("是", papa.sex);
</Script>
动态的定义对象属性;
例:
为指定的对象实例定义属性:papa.hobby="看电视";
为对象定义属性:member.prototype.hobby=null;
papa.hobby="上网";
mama.hobby="逛街";
doggy.hobby="啃骨头";
定义对象的方法;
构造函数定义对象方法名;
建立方法的描述函数。
例:
<Script>
function member(name, sex) {
this.name = name;
this.sex = sex;
this.display = display;
}
function display() {
var str = this.name + "是" + this.sex;
document.write("<LI>" + str);
}
var papa = new member("杨宏文", "男生");
var mama = new member("黄雅玲", "女生");
var doggy = new member("奇 奇", "宠物狗");
papa.display();
mama.display();
doggy.display();
</Script>
利用对象原型(prototype)为默认对象定义属性:
<Script>
String.prototype.replaceAll = strReplace;
function strReplace(findText, replaceText) {
var str = new String(this);
while (str.indexOf(findText)!=-1) {
str = str.replace(findText, replaceText);
}
return str;
}
myStr = "告诉你 - 如果你正在寻找一本能帮助你彻底研究" +
"JavaScript的书籍,请你一定要认明碁峰的" +
"JavaScript教学范本,让你事半功倍,功力大增。";
document.write("<LI>原稿是:<BLOCKQUOTE>" + myStr +"</BLOCKQUOTE>");
document.write("<LI>利用Replace()将「你」改成「您」:"
+"<BLOCKQUOTE>" + myStr.replace('你','您') +"</BLOCKQUOTE>");
document.write("<LI>利用自定义的字符串方法 - 全部取代"
+"<BLOCKQUOTE>" + myStr.replaceAll('你','您') +"</BLOCKQUOTE>");
</Script>
js-对象-2的更多相关文章
- JS对象继承篇
JS对象继承篇 ECMAScript只支持实现继承,而且其实现继承主要是依靠原型链来实现的 原型链 其基本思路是利用原型让一个引用类型继承另一个引用类型的属性和方法 function Person() ...
- JS 对象封装的常用方式
JS是一门面向对象语言,其对象是用prototype属性来模拟的,下面,来看看如何封装JS对象. 常规封装 function Person (name,age,sex){ this.name = na ...
- JSON字符串和JS对象之间的转换
JSON字符串和JS对象之间的转换 1 json字符串转换为js对象 1.1 标准json格式字符串转换为Js对象 JSON字符串 str JSON.parse(str) eval(str) eva ...
- js 对象的_proto_
js 对象呢,有个属性叫_proto_,以前没听说过,也没关注,最近看这个原型,就被迫知道了这个东西,js 这里面的东西,真是规定的很奇怪,具体为啥也不知道,就测试发现的,对象的_proto_属性,和 ...
- js对象/数组深度复制
今天碰到个问题,js对象.数组深度复制:之前有见过类似的,不过没有实现函数复制,今晚想了一下,实现代码如下: function clone(obj) { var a; if(obj instanceo ...
- js对象的深度克隆
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js对象详解
js自定义对象 一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtable类等等. 目前在J ...
- js对象常用2中构造方法
//js 对象的构造方法通常有2中情况: //第一种是通过json对象构造 var persion={ name:"孙悟空", age:40, eat:function () { ...
- JS对象复制
在JavaScript很多人复制一个对象的时候都是直接用"=",因为大家都觉得脚本语言是没有指针.引用.地址之类的,所以直接用"="就可以把一个对象复制给另外一 ...
- js对象私有变量公有变量问题
0 js对象私有变量公有变量问题5 小弟初学JS面向对象编程 现有一问题 请教各位大虾: Person=function (){ //私有变量定义 var name; vae age; var Ale ...
随机推荐
- Redis安装及HA(High Availability)配置
Redis是一种内存数据库,以KEY-VALUE(即键值对)的形式存储数据.这篇文章主要介绍的是Redis安装及配置,所以不对Redis本身作详细介绍了. 下载: http://redis.io/do ...
- MAC电脑操作快捷键
注:command即苹果键,也有人称为花键.ctrl即control键.escape即键盘左上角的esc键.space空格键. 屏幕捕捉快捷键 动作:保存到-快捷键 全屏捕捉-桌面(.pdf文件):c ...
- CDH的几个包的下载地址
https://archive.cloudera.com/cdh5/parcels/5.3.0/ http://archive.cloudera.com/cm5/installer/5.3.0/ ht ...
- eclipse android logcat 只显示自己应用程序信息的设置方法
1 elcipse 中往往会在logcat中显示 all message ,而这里面的信息太多,根本没有办法进行区分.如图: 2 我们想显示自己项目的 logcat .下面开始设置. 3 首先点击上面 ...
- C# WinForm 技巧八:界面开发之“WeifenLuo.WinFormsUI.Docking+OutLookBar” 使用
概述 最近几天一直在关注WinFrom方面的文章主要还是园子里伍华聪的博客,在看看我们自己写的项目差不忍赌啊,有想着提炼一下项目的公共部分,公共部分有分为 界面,类库两方面,今天主要是把界面 ...
- 转:HTML5标准与性能之四:asm.js
HTML5标准与性能之四:asm.js Cong Liu (Intel) 于 星期五, 24/05/2013 - 01:13 提交 之前的几篇文章分别介绍了WebWorkers.Typed Array ...
- Android软件安全开发实践(下)
Android开发是当前最火的话题之一,但很少有人讨论这个领域的安全问题.本系列将分两期,探讨Android开发中常见的安全隐患和解决方案.第一期将从数据存储.网络通信.密码和认证策略这三个角度,带你 ...
- c++算法应用 预备
章 C + +程序设计 大家好!现在我们将要开始一个穿越" 数据结构.算法和程序" 这个抽象世界的特殊旅程,以解决现实生活中的许多难题.在程序开发过程中通常需要做到如下两点:一是高 ...
- 搬家至个人独立博客virson.cn
最近正在将博客园的文章搬到自己的独立博客,以后基本上不会在博客园更新文章了,欢迎光临我的新博客:www.virson.cn,博客内容持续更新中……
- xcode 插件之KSImageNamed-Xcode
https://github.com/ksuther/KSImageNamed-Xcode 好用,各位记得安装啊