全局方法,和Number对象
演示global的全局方法 和 Number
for(i in arr){
document.writeln(i);
}
Js自定义对象
因为是Js是基于对象,所以他不具备描述事物的能力,但是在Js中可以用函数来模拟面向对象的描述
第一种:给对象添更多的属性和行为
int型变量 iXX
布尔型 bXX
String型变量 sXX
一些复杂定义格式
演示global的全局方法 和 Number
alert(parseInt("123"+1));
outln(parseInt("abc"));//NaN,非法
var val = parseInt("abc");
outln("value = "+isNaN(val));//isNaN判断是否非法
var val2 = parseInt("123afsa");//val2 = 123
outln(val2);//需要注意的是,如果参数开头是数字,parseInt方法会保留前面的有效数字,后面舍弃
//而数字放后面,就不会转化,所以一般用正则表达式来判断其中的各元素是否是有效数字
//指定进制格式转十进制
var val3 = parseInt("123",10);//123
var val4 = parseInt("110",2);//6,
//将十进制转其他进制,需要用到Number对象
var num = new Number(6);
outln(num.toString(2));//110,将6指定为二进制
var num1 = 60;//这里没有new Number
outln(num1.toString(16));//3c
//注意此处可能有疑问,就是num1是一个数值,而数值怎么能用toString()方法呢
//Js是基于对象的,无论写神码)变量,函数等等)在底层都是对象,
//所以用到Number时,很少用到new Number,这类似于Java中的自动装箱
Js的特有语句for in语句:
for(i in arr){
document.writeln(i);
}
Js自定义对象
因为是Js是基于对象,所以他不具备描述事物的能力,但是在Js中可以用函数来模拟面向对象的描述
第一种:给对象添更多的属性和行为
function Person(){//相当于构造器
// alert("Person 构造器 run");
}
//通过描述进行对象的建立,new
var p = new Person();
//Js中给对象添加属性,用p.属性名即可
p.name = "a";
p.age = 1;
p.show = function(){//定义p对象的函数
alert("show is running"+this.name+this.age);
}
p.show();
第二种:用于封装,更多的是在描述事物
function Person(name,age){
this.name = name;
this.age = age;
this.setName = function(name){
this.name = name;
}
this.getName = function(){
return this.name;
}
}
var p = new Person("a",1);
alert(p.getName());
第三中:使用{}定义属性和值的键值对方式
var P = {
name:"haha" ,"age":100,//键值对,值必须是冒号,键可以不是
"getName":function(){ //键值对 与 键值对之间用 逗号隔开
return this.name;
},getAge:function(){
return this.age;
}
}
// alert(P.getAge());//注意检测不严格,写成小写p,也不报错
//对象调用成员有两种方式,对象.属性名 对象["属性名"]
alert(P["name"]);
alert(P["name"]+P["getAge"]());//注意调用方法后面要加()
/*
function Person(name,age){
this.name = name;
this.age = age;
this.setName = function(name){
this.name = name;
}
this.getName = function(){
return this.name;
}
}
var p = new Person("a",1);
for(i in p){
document.writeln(p[i]);
}
*/
var map = {
3:"你",5:"我",4:"它"
}
/*for(i in map){
document.writeln(map[i]);
}
outln(map["5"]);//注意如果是数字就可以不加“”
*/
var getKey = function(key){
return map[key];
}
var mm = getKey(5);
alert(mm);
Js的一些命名格式
定义一个对象变量,oXXint型变量 iXX
布尔型 bXX
String型变量 sXX
一些复杂定义格式
var mm = {
// name:["sdf","sd","dfg","cd"],age:[13,11,12,13]
names:[{name:"a"},{name:"b"},{name:"c"}]
}
//alert(mm.name[2]);
//alert(mm.names[1].name);
for(var i = 0;i<mm.names.length;i++){
alert(mm.names[i].name);
}