zoukankan      html  css  js  c++  java
  • JavaScript入门1

    <script type="text/javascript">
            alert(new Date().toLocaleDateString());
        </script>

    1.JavaScript代码放到<script>标签中,同时使用 type 属性来定义脚本语言。这样就可以告诉浏览器,js程序从何处开始<script>,从何处结 束</script>。Script可以放到<head>,<body>等任意位置,而且可以不止一个<Script>标签,alert函数是弹出消息窗口,new Date()是创建一个Date类的对象,默认值是当前时间。

    2.放到<head>中得<script>在body家在之前就已经运行。

    3.除了可以再页面上声明JavaScript以外,还可以将JavaScript写到单独的js文件中,然后在页面中引入:<script src="test.js" type="text/javascript"></script>.声明到单独的js文件的好处是多页面也可以共享,减少网络流量。

    4.事件。代码如下:

    <input type="button"value=""/>
    <a href="javascript:alert('hello!');">点点</a>
    <a href="http://www.baidu.com" onclick="alert('helloword!')";>点点</a>
    <a href="javascript:alert('hello!');">点点</a>中的javascript表示的是和http和ftp,thunder://,ed2k://,mailto://一样的网络协议。
    5.JavaScript的变量
    JavaScript中既可以使用双引号声明字符串,也可以使用单引号声明字符串。主要是为了方便和HTML集成,避免转义符的麻烦。

    JavaScript中有两种NULL和undefined两种,NULL表示变量的值为空,undefined表示变量没有指向任何的对象,未初始化。
    JavaScript是弱类型,在声明变量的时候无法:int i=0;只能通过var i=0;也可以不用var来声明变量,直接用,这样的变量是“全局变量”。
    JavaScript是动态类型的,var i=0;i="abc";是合法的。
     <script type="text/javascript">
            var i = 10;
            alert(i);
        </script>

    javaScript中的var与C#中得var是不一样的,C#中表示类型推断。

     6.JavaScript除错和调试

    若JavaScript中有代码错误,浏览器会提示,根据提示修改即可。

    JavaScript的调试:

    在vs中调试的时候需要将要调试的页面设为起始页,设置断点,然后工具-->Internet选项-->高级:“禁用脚步调试(Internet Explore)”“禁用脚步调试(其它)”两个选项的勾去掉。运行即可。

    分享IE下调试js错误

    问题:ie6会出现**行错误,结果**行是html

    IE中报js错误时,虽然也给了错误的代码行数,但并没给出具体出错的文件。

    通过安装WindowsScript DebuggerComanionJS,能准确定位到出错的js并查看调用栈。具体步骤如下

    1. 安装WindowsScript Debugger, 微软主页上下载需要正版验证,

    可从这里【http://download.microsoft.com/download/7/7/d/77d8df05-6fbc-4718-a319-be14317a6811/scd10en.exe】下载.

    2. 将 工具 >Internet选项 > 高级 中的 禁用脚本调试 两个选项设置为未选中状态

    3. 安装DebugBar【http://www.debugbar.com/download.php,需要穿墙,推荐使用无界

    4. 安装CompanionJS【http://www.my-debugbar.com/wiki/CompanionJS/HomePage

    5. 重启IE

    from:51cto

    案例:计算100以内的整数和,代码入下:

        <script type="text/javascript">
            var sum=0;
            for (var i = 0; i <= 100; i++) {
                sum = sum + i;
            }
                alert(sum);
        </script>

     6.判断变量初始化的三种方法,代码如下:

        <script type="text/javascript">
            var x;
            if (x == null) {
                alert("null");
            }
            if (typeof (x) == "undefined") {
                alert("undefined");
            }
            if (!x) { alert('不x'); }
            if (x) //表示x被初始化了或者x不为空,或是x不为0{ };
        </script>

    7.函数的声明

    JavaScript中声明函数的方式:

    function add(i1,i2){

    return i1+i2;

    }

    不需要声明返回值的类型,参数类型。函数定义以function开头。

    var r=add(1,2);

    alert(r);

    r=add("你好","tom");

    alert(r);

    JavaScript不像C#中那样要求所有路径都有返回值。

     8.匿名函数

    var f1=function (i1,i2){return i1+i2;};

    alert(f1(5,6));

     同理:alert(function(i1,i2){return i1+i2;}(5,6)); //直接声明一个匿名函数直接使用。

    9.JS面向对象

    JavaScript没有类的语法,是用函数闭包(clisure)模拟出来的,JavaScript中的String。Date等类似类的都被称为对象。

    JavaScript中声明对象:

    function Person(name,age){

    this.name=name;

    this.age=age;

    this.SayHello=function(){

    alert("您好,我是"+this.name+",我"+this.age+"岁了");

    }

    var p1=new Person("tom",20);

    p1.SayHello();

    }

    必须要声明对象名,function Person(name,age)可以看作构造函数,Name,Age这些属性也是使用者动态添加。

    var p1=Person("tom",20);

    alert(p1);

    输出结果是undefined

    10.Array对象

    JavaScript中的Array对象就是数组,是一个动态数组,而且是一个像C#中数组、ArrayList、Hashtable等的超强综合体。无需预先制定大小

    var names=new Array();

    names[0]="tom";

    names[1]="jerry";

    names[2]="lily";

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

    alert(names[i]);

    }

    11.练习

    1.得到数组中的最大值.

    function getMax(arr){

      var max=arr[0];

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

        if(arry[i]>max) {

        max=arr[i];

        }

      }

      return max;

    }

    var arr1=new Array();

    arr1[0]=12;

    arr1[1]=24;

    arr1[2]=2;

    alert(geMax(arr1));

    2.数组反转

    JavaScript有自带的一个反转函数reverse();但是现在不使用此函数,而是让第i个元素与第length-i-1个元素交换。

    var names=new Array();

    arr[0]="tom";

    arr[1]="jerry";

    arr[2]="lily";

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

        alert(arr[i]); 

     }

    function myReverse(arr){

      for(var i=0;i<arr.length/2;i++){

        var temp=arr[i];//交换变量

        arr[i]=arr[length-i-1] ;

        arr[length-i-1]=temp;

      }

    }

    alert(arr);

    myReverse(arr);//传递的不是拷贝

    alert(arr);

    将一个字符串输出为"|"分割的形式,不使用JavaScript自带的Join函数即jarr1.oin("|")。

    function myJoin(arr){

      if(arr.length<=0){

        return ""

      }

      var s="";

      for(var i=1;i<arr.length;i++){

        s=s+"|"+arr[i]

      }

      return s;

    }

    var names=new Array();

    names[0]="tom";

    names[1]="jerry";

    names[2]="lily";

    alert(myJoin(names));

    12.Array的字典的用法

    JavaScript中的Array不仅是个数组还是一个Dictionary,还是一个Stack。

    var dict= new Array();

    dict["人"]="ren";

    dict["口"]="kou";

    dict["手"]="shou";

    alert(dict["人"]);

    alert(dict.人);

    for(var k in dict){//遍历

    alert(k);

    }

    13.Array的简化声明

    var arr=[3,5,6,8,9].普通数组初始化。这种数组可以看作是pinyins["人"]="ren"的特例,也就是key=0,1,2,3,4......

    字典风格的简化创建方式:

    var arr={"tom":30,"jim":20};

    对于数组风格的Array来说,可以使用join方法拼接为字符串。

    var arr=["tom","jim","lily"];

    alert(arr.join("|"));//js中join是array的方法,不像.NET是string的方法。for循环可以像C#中的foreach一样。

    for(var e in document){//可以获得一个对象的所有成员。因为对象的成员就是以对象的key的形式出现的。

    alert(e);

    }

    var p1=new object();

    p1.Name="tom";

    p1.Age=30;

    p1.SayHello=function(){alert("hello");};

    p1.SayHello();

    for(var e in p1){

    alert(e);

    }

  • 相关阅读:
    linux中inittab文件详解
    Linux的 test 命令使用
    程序的链接和装入及Linux下动态链接的实现
    linux虚拟内存管理简要总结
    一些vim技巧和经验
    Linux cp mv rm ln 命令对于 inode 和 dentry 的影响
    Linux C编程一站式学习
    虚拟内存管理
    为何cp覆盖进程的动态库(so)会导致coredump
    linux下So覆盖导致coredump问题的分析
  • 原文地址:https://www.cnblogs.com/qiushuixizhao/p/3133101.html
Copyright © 2011-2022 走看看