JavaScript-基础语法(4)

全局方法,和Number对象

演示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(变量 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的一些命名格式

定义一个对象变量,oXX
int型变量 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);
         }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值