Javascript学习笔记

JavaScript课程笔记

课程1 JavaScript简述

.HTML只是描述网页长相的标记语言,没有计算,判断能力,如果所有计算判断都放到服务器端执行的话,网页的页面会特别慢,用起来也很难用,对服务器的压力很大,因此要求能在浏览器中执行一些简单的运算,判断。JavaScript就是一种在浏览器端执行的语言。

JavaScriptJava没有直接的关系,唯一的关系就是JavaScript原名叫做LiveScript,后来吸收了Java的特性,升级为JavaScript。简称js

 

JavaScript是一种解释型的语言,无需编译就可以随时运行,这样哪怕语法有错误,没有语法错误的部分还是能正确运行。

 

课程2. 弹出对话框

弹出对话框:alert(new Date().toLocaleDateString());

javascript一般放在<head>标记内,在body还没执行之前,就先执行了JavaScript的代码。顺序往下执行的。

 

课程3 js文件

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

 

课程事件

<a href="javascript:alert('Hello!man!')">点点</a> 点击一个超链接时就调用js的分析解释引擎来处理下面的东东。  <a href="http://www.baidu.com">百度</a>

<a href="1.thm" onclick="alert('Hello 1.tml')">点点</a><!--单击时首先执行Dalert后跳-->

 

只用超链接的href中的JavaScript中才需要加“JavaScript”,因为他不是事件,而是把“JavaScript:”看成像http ftpthunder//,ed2k://mailto:一样的网络协议 herf的特例。

 

课程5.JS中的变量

JavaScript中即可以用双引号,也可以用单引号声明字符串。主要是为了方便和html集成,避免转义符的麻烦。

JavaScript中有nullundefined两种,null表示变量的值为空,undefined则表示变量还没有指向任何的对象,未初始化。两者的区别:参考资料

 

JavaScript是弱类型的,变量声明的时候不能够:int i=0;只能通过var i=0;声明变量,和C#中的var不一样,不是C#中的那样的类型推断。

 

<script type="text/javascript">

    var i=10; //声明一个变量,名字为,指向10,就是int类型¨了 。

    i = "abc";  //在¨JavaScript中一个变量可以指向任何类型,指向谁,就是什么类型¨。

    alert(i);

   i1 = 20; //前面不加var就相当于一个全局变量。不推荐这样用。

 

课程6.JavaScript中的调试

 

vs2010中调试JavaScript时,首先要在浏览器中将:禁用脚本调试去掉。然后才可以调试,其他的跟调试C#没有什么区别。

 

课程7.js判断变量初始化

if (x == null) { alert("null");}

if (typeof (x) == "undefined") { alert('undefined'); }

if (x) {alert('不X'); }//变量被初始化了或者不为空或者变量不为0

 

 

课程8.JavaScript的函数声明

function add(i1, i2)

{    //函数定义以function开头。

        return i1 + i2; //不需要声明返回值类型,参数类型

   }

看看下面一个函数

Function add(i1,i2)

{

 If(i1>i2){    //在c#下面会报错:不是所有路径都有返回值。但在JavaScript中可以。在JavaScript中,如果没有返回值,默认返回undefined。

 return i1+i2;

}

}

 

课程9.匿名函数

var f1 = function (i1, i2) { //声明一个函数,用f1这个委托来调用他

       return i1 + i2;

   }

   alert(f1(10,20)); //f1就可以当作一个函数来用啦

 

 

课程10.js面向对象基础

JavaScript中没有类的语法,是用函数闭包(closure)模拟出来的,下面讲解的时候还是用C#中的类、构造函数的概念,JavaScriptStringDate等类都被叫做“对象”,挺怪,方便初学者理解,不严谨。JavaScript中声明类(类不是类,是对象):

 

 

课程11.Array对象。

JavaScript中的Array对象就是数组,首先是一个动态数组,而且是一个像C#中数组、ArrayListHashtable等的超强综合体。

 

var arr = new Array(); //声明一个数组对象。不用预置大小

        arr[0] = "tom";        //可随意添加数据类型也不固定        arr[1] = "jerry";

        arr[2] = "lily";

        arr[3] = 1;

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

            alert(arr[i]);

        }

Array对象的练习。

arr.reverse(); //数组对象中有一个反转函数的方法。

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

            alert(arr[i]);

        }

课程12.JS中的Dictionary

 

Js中的Array是一个宝贝,不仅是一个数组,还是一个Dictionary,还是一个Stack。(栈)

 

 

课程13.数组的简化声明方式

var arr1 = [3, 5, 6, 8, 9]; //用简化的方法声明一个普通的数组

var arr2 = { "tom": 30, "jerry": 50 }; //用简化的方式声明一个Dictionary

alert(arr2["tom"]);

 

for (var e in document) {

alert(e); //遍¦历一个对象的所有的成员。为什么可以呢?因为对象的成员就是以对象的key的形式出现的。

        }

 

 

 

posted @ 2011-04-16 23:53  GY小小鸟  阅读(355)  评论(0编辑  收藏  举报