zoukankan      html  css  js  c++  java
  • 学习之Javascript基础

    1)HTML只是描述网页长相的标记语言,JavaScript是一种在浏览器端执行的语言,简称为JS,JavaScript是解释性语言,无需编译就可以随时运行,没有语法错误的部分还是能正确运行。

    2)VS2010中有Javascript、JQuery的自动完成功能

    3)JS点儿不出来的成员也许可用,点儿处理的成员也许不可用

    4)VS2008的HTML编辑器中触发JavaScript自动完成:Ctrl+J

    5)JS标签:

      <script type="text/javascript">

              alert(new Date().toLocaleDateString());

          </script>

        //alert类似于messagebox的用法

      Javascript代码放到<script>标签中,script标签可以放到<head><body>等任意位置,且可用有不止一个标签,alert函数是弹出消息窗口,new Date()是创建一个Date类的对象,默认值就是当前时间。

      放到<head>中的<script>在body加载之前就已经运行。

    6)除页面中声明Javascript外,可将Javascript写到单独jscript文件中,然后在页面中引入:

      <script src=”test.js” type=”text/javascript”></script>,声明到单独js文件的好处是多页面也可以共享、减小网络流量。

    7)事件:Dom相关

      <a href="javascript:alert('hello')">Click</a>

         在body中触发js,可用超链接标签实现,点击超链接,注意alert中使用单引号,主要是为了方便和html集成,避免转义字符的麻烦,避免与外层的双引号冲突

       // 通过超链接的开头决定使用哪个网络协议,调用哪个程序,交由哪个引擎处理,同如下几种:thunder://    qq:     mailto:     ftp://     ed2k://

        // 只有超链接的href中的Javascript才需加”javascript:”,因为它不是事件,将之看做一种网络协议,交由js解析引擎处理。

    8)JS:有null、undefined两种,null表示变量为空,undefined表示没有指向任何对象

    9)Javascript是弱类型,只能通过var i=0声明变量。

      指向某个值后,即为该类型的变量,同一变量可指向任意的类型。

      不用var声明的变量为全局变量,不建议用。

      JS是动态类型的,var i=0;i=”a”;是合法的。

    10)JS除错与调试:Internet选项中有禁用脚本调试,启用调试,以调试方式运行网页,设置断点,添加到监视。

    11)Javascript中判断变量、参数是否初始化的三种方法:

        1> if(x==null){alert(“null”);}

        2> if(typeof(x)==”undefined”){alert(‘undefined’);}

        3> if(!x){alert(‘no x’);}//推荐使用此方法,变量为空或为0或未初始化

    12)函数的声明:function add(i,j){return i+j;}

             不需要声明返回值类型、参数类型,以function开头;不像C#中那样要求所有路径都有返回值;没有返回值时会alert一个undefined

    13)匿名函数:var f1=function(i,j){return i+j;}  alert(f1(1,2));         类似于C#中的匿名函数,JQuery中常用

    14)Javascript中没有类的语法,是用函数闭包closure模拟出来的,JS中String、Date等类叫做对象,本质就是函数,创建过程为:

        function Person(name, age) {                       //声明一个函数,当成类用,叫做对象

                  this.name = name;

                  this.age = age;

                  this.SayHello = function () {                            //动态声明,指向匿名函数

                      alert("Hello,this is " + this.name + ".I'm " + this.age + " .");

                  }

              }

              var p = new Person("Xscape", 23);// 此处若为:var p = Person("Xsc", 23);则p为undefined,因函数无返回值

              p.SayHello();

    15)Javascript中的Array对象就是数组,是一个动态数组,无需预先制定数组大小,如下:

        var names = new Array();

                names[0] = "a";

                names[1] = "b";

                for (var i = 0; i < names.length; i++) {

                    alert(names[i]);

                }

    16)字符串数组中元素的反转,Javascript中有自带反转函数,另实现原理:将第i个和第length-i-1个进行交换

    17)数组加|分割输出:Join函数(C#与JS中都有)

    18)alert(Array)可以将数组中每个元素都打印出来,不是alert的功能,而是Array的ToString效果

    19)JS的Array不仅是一个数组,还是一个Dictionary,还是一个Stack。

        var exam = new Array();

               exam["a"] = "A";

               exam["b"] = "B";

               exam["c"] = "C";

               exam["d"] = "D";

               alert(exam["a"]);

               alert(exam.a);

      Array的Key可以是汉字、字母等字符形式,类似Dictionary

      遍历Array的方法:for (var k in exam)  {alert(k);}  //用for实现的foreach语法,打印的是Array的Key,输出a等,而非A等

    20)普通数组初始化:var arr={1,2,3,4};//key为0、1、2、3

       字典风格的创建:var arr={“li”:15,”wang”:20};

    21)用for遍历得到JS中某个对象的所有属性和方法:

       for (var e in document) {   alert(e);  }//对象的所有成员都是以对象的key的形式出现的

  • 相关阅读:
    [bzoj1263]整数划分
    [bzoj3171]循环格
    [bzoj3551]Peaks加强版
    [bzoj3307]雨天的尾巴
    [bzoj2756]奇怪的游戏
    [bzoj4025]二分图
    人比人该死啊
    数据挖掘十大经典算法[0]-K-Means算法
    ISODATA算法
    CodeForces Round 197 Div2
  • 原文地址:https://www.cnblogs.com/XscapeSpace/p/3781561.html
Copyright © 2011-2022 走看看