黑马程序员_Js简单介绍和基础语法

------- Windows Phone 7手机开发.Net培训、期待与您交流! -------


Js的简单介绍和基础语法:

Javascript的简单介绍:

Javascript就是一种在浏览器端执行的语言,无需和服务器进行交互,是一种纯前端的语言。

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

 

JS代码位置:

Js代码放到<script>标签中,script可以放在任意位置,而且可以有多个<script>标签。

放在<head>中的<script>在body加载之前就已经运行了。写在<body>中的<script>是随着页面的加载而一个个执行的。

JS也可以也可以单独写到js文件中,然后在使用的页面中引用<script src=”test.js” type=”text/javascript”></script>。这样写可以使多页面共享、减少网络流量。

 

事件:

JS中也有事件的概念,当按钮被点击时也可以执行JS:

<input type=”button” οnclick=”alert(‘99’)”value=”99”/>
<a href="1.htm"onclick="alert('hello')">点点</a>

 

事件中的特例:<a href="javascript:alert('hello')">点点</a> 只有超链接的href中的JavaScript中才需要加” javascript:”,因为他不是事件,而是把”javascript:”看成像”http:”、”ftp:”、”thunder://”、”ed2k://”、

mailto:一样的网络协议,交由js解析引擎处理。只有href中这是一个特例。

 

JS中的变量:

1.JS中既可以使用双引号声明字符串,也可以使用单引号,主要是为了和html继承,避免转义符的麻烦。

2.JS中有null、underfined两种。null表示变量值为空,underfined表示变量还未初始化,没有指向任何对象。

3.JS是弱类型,声明变量时不能:int i=0;只能通过var i=10;一旦指向10,i就是int类型了。

var i=”abc”;  此时i有变成了string类型,嫁鸡随鸡,嫁狗随狗,可以指向任意类型

4.JS中也可以不用var声明: i =10;   此时i是全局变量,除非确实想用全局变量,否则最好加上var.

判断变量的初始化:

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

Var x;

If(x==null){

         alert(‘null’);

}

If(typeof(x)==”underfined”){

         alert(‘underfined’);

}

If(X){} 变量被初始化了或者变量不为空或者不为0

If(!x){

alert(‘不x’);

}

推荐用最后一种方法

 

函数的声明:

function 函数名([参数1],[参数2],…)  {算法}

不需要声明返回值类型、参数类型。

JS中不像C#中那样要求所有路径都有返回值,如果没有返回值,默认为undefined。

例:

function add(i1, i2) {//只是声明,不会立即执行

           if (i1 > i2) {   //js不会报错(C#中:不是所有的方法都有返回值)

                return i1 + i2;

           }                //如果没有返回值,默认为undefined

           //return i1 + i2;

       }

匿名函数:

1.var f1 = function (i1, i2) { return i1 +i2; };  //一个委托指向一个函数

  alert(f1(5, 10));

2. alert(function (i1, i2) { return i1 +i2; }(10,10));//直接声明一个匿名函数,立即使用,可以避免命名冲突

 

JS面向对象基础:

JS中没有类的语法,是用函数闭包(closure)模拟出来的,讲解的时候还是用C#中类、构造函数的概念,JS中的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", 30);     //不要去了new,否则就变成调用函数了

p1. SayHello();

必须要声明类名,function Person(name, age)可以看做是声明构造函数,Name、Age这些属性是动态添加的。

//动态添加属性

p1.Gender = "D"; 

 

Array对象:

JS中的Array对象就是数组而且是一个动态数组,无需预先制定大小

vararr = new Array();

        arr[0] = "tom";

        arr[1] = "jerry";

        arr[2] = "lily";

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

            alert(arr[i]);

        }

Array还是一个Dictionary、栈:

Dictionary:

var arr = new Array();

       arr[0] = "tom";

       arr[1] = "jim";

       for (var i in arr) {   //打印出来的是0,1,2.......证明了数组用法是Dictionary用法的一个特例

           alert(i+arr[i]);

       }

var dict = new Array();

       dict["人"] = "ren";

       dict["口"] = "kou";

        dict["手"] ="shou";

//       alert(dict["口"]);

//       alert(dict.口);

//       dict[0] = "tom";

       for (var k in dict) {  //js中的foreach语法,打印出来的值是key

           alert(k);   //输出人 口 手

       }

Array简化声明:

var arr1 = {30,50,80};   //数组的简化声明方式

 vararr2={"tom":30,"jerry":50};   //字典的简化声明方式

alert(arr.join(“,”)); 使用join方法将数组风格的Array拼接为字符串。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值