JavaScript笔记(二)

上次看的JavaScript的对象都是一些最基本的东西看,跟Java基本上是一样的,但是由于是现实在网页上,比如点击之后弹出来一个窗口什么的,所以感觉还是挺新奇的,忙里偷闲再往下看看吧。

[color=red]一些基本语句[/color]
with语句: (对象操作语句)

* 功能:为一段程序建立默认对象。
* 格式:
with (<对象>){
  <语句组>


* 例1:
with (document) {
write ("限时抢购物品:");
write ("<Li>ViewSonic 17\" 显示器。");
write ("<Li>EPSON 打印机。");
}

* 例2:
document.write ("限时抢购物品:");
document.write ("<Li>ViewSonic 17\" 显示器。");
document.write ("<Li>EPSON 打印机。");

至于后面的if,ifelse,while,dowhile,for,break,continue,switch,也就是举两个有趣的例子吧。
<Script>
function greet(givenSex) {
switch(givenSex) {
case "帅哥" : alert(givenSex + ",你好啊!");
break;
case "美女" : alert(givenSex + ",你好啊!");
break;
}
}
</Script>

请输入性别:
<FORM>
<INPUT TYPE="radio" NAME="sex" onClick="greet('帅哥')">
帅哥
<INPUT TYPE="radio" NAME="sex" onClick="greet('美女')">
美女
</FORM>


for...in语句:重复执行指定对象的所有属性

格式:

for ( 变量 in 对象 ){
<语句组>
}

例:

<Script>
function member(name, sex) {//构造函数member
this.name = name;
this.sex = sex;
}

function showProperty(obj, objString) {
var str = "";
for (var i in obj)
str += objString + "." + i + " = " + obj[i] + "<BR>";
return str;
}

papa = new member("杨宏文", "男生");//建立对象实例papa
document.write(showProperty(papa, "papa"))

</Script>


比如跟Java一样的new Date() ,以及类似的getDate(),getMonth()就不多讲了

然后是数组,有几个可能是在Java里不太常用的方法吧,比如:
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>


[color=red]字符串[/color]
至于字符串的一些常用的方法,也就列如下了吧
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() 返回字符串值

<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>

[color=red]
布尔对象:[/color]

   格式:布尔对象名称=new Boolean(转换值)
   转换值:null、未定义、0、或false均转换成false

[color=red]数学对象[/color]
数学对象的属性:

  格式: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>


[color=red]自定义对象[/color]
个人感觉没什么用,就跟Java的bean一模一样,比如:
<Script>

function member(name, sex) {
this.name = name;
this.sex = sex;
}

var man = new member("男", "男生");
var woman = new member("女", "女生");
var doggy = new member("狗狗", "宠物狗");

document.write(papa.name);
document.write("是", papa.sex);

</Script>


#

* 动态的定义对象属性;
* 例:
为指定的对象实例定义属性:man.hobby="看电视";
为对象定义属性:member.prototype.hobby=null;
        man.hobby="上网";
        woman.hobby="逛街";
        doggy.hobby="啃骨头";

* 定义对象的方法;
o 构造函数定义对象方法名;
o 建立方法的描述函数。
* 例:
<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 man = new member("男", "男生");
var woman = new member("男", "女生");
var doggy = new member("狗狗", "宠物狗");

papa.display();
mama.display();
doggy.display();

</Script>

[color=red]利用对象原型(prototype)为默认对象定义属性:[/color]

个人感觉这个东西很重要……但是又好像没什么用处,
所以只好抄下来,待用吧

<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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值