您的位置:首页 > 移动开发 > Android开发

Android API 实验记录 (二)

2009-11-23 00:06 246 查看

1.1.在超连接中使用javascript

<a href="javascript: alert(new Date());">顺平!</a>

1.2.在button中也可使用javascript

<input type=button value=test Date());”>
其实就是对html控件的事件进行处理
<input type="button" value="aboutme" onclick="JavaScript:MI.show()" />

1.4.JavaScript基本语法注意事项

(1)javascript大小写敏感
(2)javascript注释:单行注释://,多行注释:/* */
(3)字符串常量:没有字符常量,即使一个字符,也被当做一个字符串。
注意:如果有特殊字符,要用\转义,JS不能将一个常的字符串分为多行,必须用+连接。
(4)JS是弱数据类型,如:
Var name = “数据”;//此时name为字符串
Var item = 23;//item为数
name = 23234; //注意,这时候,name自动转化为数
//如果不声明变量,直接使用,
Flag = 324;//特别注意,此时Flag为字符串
(5)运算符注意:9/4会保留小数部分,与Java不同。
(6)逻辑运算符:在JS中,仍然遵循“非0为真,0为假的原则“,即!0(true),!7(false)

1.5.JS中的Switch控制语句

switch(表达式){
case 取值1:
语句
break;}
它与Java的switch一样,同样要注意表达式是JS支持的所有数据类型。

1.6.JS中的系统函数(可以直接使用)

(1)parseInt(numString,[radix])
将一个字符串转换为一个数字,如果没有指定[radix],那么默认为十进制。
案例:举一个表单有两个数,求他们的和,并把他们的和在结果文本框中输出。
(2)parseFloat方法
将一个字符串转换为一个float数。
(3)isNaN方法
返回一个Boolean值,isNaN()函数用于判断是否是非数字值。
案例:isNaN(”hello”),isNaN(123)
([/b]4[/b])[/b]eval[/b]方法,用处不小[/b][/b]
将其中的字符串作为一个js 表达式来执行。
比如:alert(”OK”);óeval(”alert(\”ok\”)”);
当然也可 var k=“ok”;eval(“alert(k)”);
注:代码必须预编译通过才能执行,在没有选择好IDE之前,特别注意“和[/b]”[/b]的区别。
扩展:[/b]为了深入了解Eval,查询了使用手册。[/b]
Eval(string)是计算string的值,值得注意的是:string 参数必须是原始字符串,因此请不要为 eval() 函数传递 String 对象来作为参数。[/b]如
eval("x=10;y=20;document.write(x*y)")

1.7.对象

(一)对象与对象实例
语法:
var objectinstance=new ObjectName(参数);
<script language="javascript">
//定义一个类(对象),这和定义一个函数没有区别
function Cat(){
}
var myCat =new Cat();//创建一个实例
myCat.age=20;//给myCat这个实例增加一个属性age(第一次使用时)
myCat.name="顺平";//同上,这里js中的类可以无限制的增加属性
function print(){
alert(myCat.name+":"+myCat.age);
}
myCat.show=print;//给实例增加一个方法,注意这里不要写成print();否则要被执行的。
myCat.show();//使用方法
</script>
说明:属性和方法的增加是针对对象实例而不是对象的…[/b]
在访问属性时,也可以时使用 myCat[“age”][/b]这种方式,这样访问属性时可以动态的变化。[/b]
(二)常见函数:
1.Math对象:var num = Math.random();
2.Date对象:parse[/b]方法[/b],它返回一个表示时间的字符串。
详细:[/b]parse() 方法可解析一个日期时间字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒数。如:

<script type="text/javascript">

var minutes = 1000 * 60
var hours = minutes * 60
var days = hours * 24
var years = days * 365
var t = Date.parse("Jul 8, 2005")
var y = t/years
document.write("It's been: " + y + " years from 1970/01/01")
document.write(" to 2005/07/08!")

</script>

其他:
<SCRIPT LANGUAGE="JavaScript">

var myDate = new Date();

myDate.getYear(); //获取当前年份(2位)

myDate.getFullYear(); //获取完整的年份(4位,1970-????)

myDate.getMonth(); //获取当前月份(0-11,0代表1月)

myDate.getDate(); //获取当前日(1-31)

myDate.getDay(); //获取当前星期X(0-6,0代表星期天)

myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)

myDate.getHours(); //获取当前小时数(0-23)

myDate.getMinutes(); //获取当前分钟数(0-59)

myDate.getSeconds(); //获取当前秒数(0-59)

myDate.getMilliseconds(); //获取当前毫秒数(0-999)

myDate.toLocaleDateString(); //[/b]获取当前日期[/b]2011[/b]年[/b]3[/b]月[/b]15[/b]号[/b]

myDate.toLocaleTimeString(); //[/b]获取当前时间[/b] 21:33:32

myDate.toLocaleString( ); //[/b]获取日期与时间[/b] 2011[/b]年[/b]3[/b]月[/b]15[/b]号[/b] 21:33:32[/b]

</SCRIPT>
注意事项:[/b]toLocalDateString[/b]等后三个函数在各个浏览器中的显示是不一样的,所以建议自己写个方法。[/b][/b]
function localeDate(date) {

return date.getFullYear()+ "年"

+ (date.getMonth()+ 1) + "月"

+ date.getDate() + "日" + " "

+ date.getHours() + ":"

+ date.getMinutes() + ":"

+ date.getSeconds();

}
注意:其中getFullYear不是getYear(),因为后者返回的是和1900年之间的差距,其次getMonth要加1,是从0开始.[/b]
3.toString的方法
var x=456;
alert(“hex=“+x.toString(16)); //表示把x转成16进制的一个字符串.
(三)数组
[/b]1.其中数组只需要注意几点:数组是由一对方括号[]包围,列表的每个元素用逗号分隔,数组元素可以是任何类型的数据,也可以是表达式。Arry.length是数组的长度。var arr=[[“shunping”,123,”1.1”,4.5],[“a”,”b”,”c”],abv]
2.Array对象:
第一种方法:var arr=new Array();arr[0]=”abc”;
第二种方法:var arr= new Array(4)
第三种方法:var arr =new Array(“abc”,”rty”);
arra.sort();
(四) 生命周期
funciton test(x){
x=5;
}
var x=3;
test(x);
alert(x);
如上,输入结果为3.

思考下一段代码执行的结果是什么?
<script language='javascript'>
function Cat(name,age){
this.age=age;
this.name=name;
}
function change(x){
x.name="小明";
}
var my=new Cat("晓鸿",34);
change(my);
window.alert(my.name);

本文出自 “forth的专栏” 博客,请务必保留此出处http://forth.blog.51cto.com/2779744/517741
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: