javascript1-基本概念

function test1(){
    //alert("nihao");
    //1.区分大小写
    var test = "Hello";
    var Test = "World";

    //alert(test+Test);
    //2.可以这样声明
    var message="hi",num=3;
    //alert(message+num);

    //3.ECMA 建议采用驼峰法命名,与其源代码风格保持一致

    //4.ECMA 5中基本类型:undefined,string,object,number,boolean,null

    //5.typeof 可以获取某个变量的类型
    //alert(typeof message);//string 
    //alert(typeof num);//number
    //如果没有初始化呢?
    var A;
   // alert(typeof A);//undefined
   //如果每没有声明呢?
   //alert(typeof B);//也是undefined
   //如果直接alert一个没有声明的变量 Chrome没有任何反应

   //还有一个更奇葩的
   //alert(typeof null);//object null 指向一个空指针对象

   //5.Boolean  true false 对的 True False 不对 true,flase  是 Boolean的字面值
   //Boolean 与 boolean 也不同
   //boolean flag = true; 明显中了java的毒
   var flag = true;

   var flag2 = Boolean(message);
  // alert(flag2);//true 有一个转换规则对应表 可查阅

  //6.Number 可整数可浮点甚至还可字符
  //可表示八进制 十六进制
  var eight = 0123;
  var sixteen = 0x3A;

  //alert(eight);//83
  //alert(sixteen);//58  弹出十进制数

  //表示范围并不是那么广 
  //NaN: not a number
  //alert(4/0);//infinity  超出表示范围
  //alert(isFinite(4/0));//flase 

  //alert(isNaN(23));//false  是一个数字
  //alert(isNaN("23"));//可以转成一个数字
  //alert(isNaN("blue"));//不能被转成数字
  //alert(isNaN(blue));//没有东西输出
  //alert(isNaN(true));//false 可以转成数值 

 //数值转换 Number() 
    var num1 = Number("hello");
    //alert(num1);//NaN
    var num2 = Number("11");
    //alert(num2);//11
    //alert(Number("11"));

    var num3 = Number(true);
    //alert(num3);//1
    //parseInt() 转成整数 使用较多
    //parseFloat 转浮点 科学记数法

    //String 
    var string1 = "hello";
    //alert(string1.length);//5
    string1 = "world";
    //alert(string1); //会把之前那个销毁

    //toString()转字符串
    //Object  和 java 对象很相似
    //都一个共同的父类Obejct ,这个父类还有些写好了可直接继承


    //各种操作符  和 语句先省略 以后遇到再补充吧
}

function func(){
    //alert("func");
    //函数内部 return; 意思是返回undefined,一般用在需要停止函数但是不需要返回值的情况

    //cc("hh");// hhundefined
    //相对于其他语言 ,参数管得比较宽松,声明两个参数,可以只传一个参数值
    //实际上解释器并不care你声明 调用时的参数情况,因为无论在那种情况下,都会有一个参数数组arguments
    //声明时写下参数名 只是为了程序员好辨识

    //testLength();//0
    //testLength(12);//1
    //testLength("ee",33);//2

    //mix(10,5);//20 说明还是以自定义优先的

    //函数重载 = 函数重写?
    //JAVA 重载,用同一个函数名,只要参数类型和数量,返回值中一个以上不同,他们就是不同的函数
    //但是ECMA 函数参数管理试很松的 不能用参数来定死一个函数,所以没有传统意义上的重载
    //但是可以用巧妙地方法间接实现重载,那就是在函数中判断参数的情况,根据不同参数采取不同方案

};

function cc(arg0,arg1){
    alert(arg0+arg1);
};

function cc(){//函数名可以相同  自动匹配参数 ?错! 如果遇到函数名相同的情况,以最后定义的那个为准
    alert(arguments[0]);
    //alert(arg0+arg1);
};

function testLength(){
    alert(arguments.length);
};

//自定义参数名 和 系统arguments 可以混合使用!
//他们占据不同的内存空间 不过会实时同步
function mix(arg0,arg1){
    arg1 = 10;
    alert(arguments[0]+arguments[1]);
}

window.onload = test1;
window.onload = func;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值