JavaScript第一天总结

JS:在浏览器端执行的脚本语言,能够在浏览器中执行一些简单的运算、判断


javascript基本组成

基本语法  Dom(文档对象模型)  Bom(浏览器对象)

1.    JavaScript语法概述

    1)大小写敏感
    2)弱类型语言
    3)声明变量用var
    4)字符串用单引号--推荐 html-->双引号,JavaScript-->单引号
    5)每句话后面用分号
    6)注释 推荐使用单行注释,多行注释中如果包含正则表达式可能会出问题
       <!-- -->是html的注释
       

2.    按钮显示时间案例

方法1:

        <body>
            <input type="button" id="btnOne" name="btn" value="显示时间" οnclick="alert(new Date().toLocaleDateString())">
        </body>


方法2:

        //页面加载完 再执行
        window.onload = function () {
                document.getElementById("btnOne").onclick = function () {
                alert(new Date().toLocaleDateString());
            };
        };


方法3:在html代码中出现的js代码οnclick=f1(),不推荐
        function f1() {
            alert(new Date().toLocaleDateString());
        }


        <body>
            <!--如果在标签中直接让事件执行什么方法,必须加括号-->
            <input type="button" id="btnOne" name="btn" value="显示时间" οnclick="f1()"  /><!--方法1--οnclick="alert(new Date().toLocaleDateString())"-->
        </body>


        

3.    超链接显示时间

    <body>
        <a href="#" οnclick="alert(new Date().toLocaleDateString())">显示时间1</a>
        <a href="javascript:void(0)" οnclick="alert(new Date().toLocaleDateString())">显示时间2</a>
        <a href="javascript:alert(new Date().toLocaleDateString())">显示时间3</a>
    </body>


    

4.    数据类型

    JS中的数据类型 六种 bool number string undefined null object
    只有object是引用类型,其他都是值类型
    Undefined类型,Null类型都是只有一个值的数据类型,分别为undefined与null

    查看变量类型用typeof(变量)
    instanceof用来判断某个对象属于哪种类型 alert(nowTime instanceof Object) -- true

    只是声明了,但没赋值,那么变量的类型和值都是undefined
    方法没有明确返回值时,返回值是一个undefined

    变量A==变量B 不严格等号 判断A和B转换为boolean类型后是否相同(任何类型都可以转换为boolean类型)
    变量A===变量B 严格等号 先判断类型是否一致;再判断值是否一致  switch判断时,是“全等于” ===

    //判断变量是否可用
    var n
    if(typeof(n)!= undefined&&typeof(n)!=null){
        //可以使用
    }else{
        //不可以使用
    }
    

5.    变量作用域

    js中没有块级作用域,比如说if()或for()这些块中定义的变量,在块外仍可以使用
    而如果是在函数function()内定义的变量,由于函数调用后就会释放掉,在块外可能不能使用

    JavaScript中字符串同样需要转义字符‘\’,与C#一样
    JS中不识别@符号
    

6.    类型转换

    parseInt()        将指定的字符串,转换成整数。如果是数字+字母,会自动忽略掉字母
    parseFloat()    将指定的字符串,转换成浮点数
    Number()        把给定的值(任意类型)转换成数字(可以是整数或浮点数);
                    转换的是整个值,而不是部分值。如果该字符串不能完全转换为整数,则返回NaN
        isNaN()     判断是否为一个非数字?
            var n = '90.3fdsds';
            if(isNaN(Number(n))){//不是数字开始执行}
    String()        把指定的值(任意类型)转换成字符串
    Boolean()        把给定的值(任意类型)转换成Boolean类型
    (*)eval(codeString)        将一段字符串的js代码,计算并执行;类似于动态SQL语句
    

7.    JS除错与调试

    方法1:IE f12 开发人员工具 加断点 F11单步执行
    方法2:VS中进行调试 不方便
    IE          DebuggerBar
    FireFox        FireBug
    Chrome        开发人员工具 --> Console
    高版本浏览器下可以使用console log('内容');来输出内容
    

8.    方法

    js中的方法没有访问修饰符,没有返回值类型,只有方法名([参数列表])

9. arguments对象--动态为方法传递参数,类似于.net中的params关键字的作用    
    arguments.length以及arguments[i]
    js中没有方法的重载,也没有可变参数
   
 function f1(){
        var sum = 0;
        alert(arguments.length); //获得这个方法传了几个参数
        for(var i=0;i<arguments.length;i++){  //点不出来
            sum += arguments[i];
        }
        return sum;
    }

    return后面是返回值的内容
    
    命名函数(与匿名对象相对应)在调用之前就已经确定了,就是最后的一个重名函数
    

10.    匿名函数

    类似于C#中的匿名函数,这种匿名函数的用法在jQuery中非常多
    用匿名函数省得定义一个用一次就不用的函数,而且避免了命名冲突的问题
    JS中没有命名空间的概念,因此很容易函数名字冲突。命名冲突以最后声明为准

    第一种:-->使用最多
    var f1 = function(p1,p2){return p1+p2;};    //将函数赋值给一个变量 其中f1()是方法
    alert(f1(1,3));
    匿名函数没法调用,只能赋值给一个变量,由于是赋值语句,后面要加分号
    document.getElementById('btnOne').onclick = function(){}
    
    第二种:
        (function (n1, n2) {
            alert(n1 + n2);
        })(2, 3);
        
    第三种:
        var m1 = new Function("p1", "p2", "p3", "return p1+p2+p3");
        alert(m1(1, 2, 3));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值