黑马程序员——10 Javascript基础

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

——什么是javascript

简介:

1.        是一种在浏览器端执行的解释类型语言,原名Livescript

2.        后来吸收了java的一些特性,升级为javascript,简称JS

3.        无需编译就可以随时运行,哪怕语法有错误,没有语法错误的部分还是能正常运行

——javascript的开发环境

简介:

1.        Vs2010版本以上才有javascriptJQuery的自动完成功能

2.        JS是非常灵活的动态语言,不像c#等静态语言那样严谨,开发工具中的JS完成功能至少一个辅助,建议。

3.        出来的成员调用可能不能用,不出来的成员也许能调用,因此不要因为点不出来而担心代码有问题

4.        出发html中的javascript自动完成:ctrl+j

 ——javascript入门

简介:

1.        Javascript代码放到<script>标签中,script可以放到<head>,<body>等任意位置,而且可以有不止一个<script>标签

2.        Alert函数是弹出消息窗口,new Date()是创建一个Date类的对象,默认值就是当前时间

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

4.        除了可以在页面中声明javascript以外,还可以将javascript写到单独的js文件中,然后在页面中引入:<script src="test.js" type="text/javascript"></script>

5.        声明到单独的js的文件的好处是多页面也可以共享,减小网络流量

 例码:

<!==javascript代码一般不写在body==>

<html>

   <head>

     <script type="text/javascript">

         alert(newDate().toLocaleDateString());

     </script>

    </head>

</html>

<!==htmlt代码从上之下运行,如果把javascript同时写在headbody==>

<!==先执行head中的javascript代码==>

<!==然后显示信息==>

<!==最后执行body中的javascript代码==>

<html>

   <head>

        <script type=”text/javascript”>

        alert(new Date().toLocaleDateString());//类似winform中的MessageBox

        </script>

   </head>

       <body>

        Javascript!!

        <script type=”text/javascript”>

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

       </body>

</html>

——引用外部js文件

简介:

为了减少浏览器因为不断加载javascript代码引起的网速减慢的情况,需要引用外部js文件

如何引用:

1.        首先在项目中新建一个js文件,写入js代码

2.        使用<script src=”文件名.js” type=”text/javascript”></script>来引用

例码:

<!==新建一个叫做commonjs文件,写入以下代码==>

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

<!==引用common.js文件==>

<html>

     <head>

<script src="common.js"type=”text/javascript”></script>//引用公共的js文件

     </head>

</html>

——事件

简介:

Javascript中也有事件的概念:

例码:

<!==在超链接里点击执行javascript==>

<a herf="javascript:alert('88')">发发</a>

注意:只有超链接中的href最近拍卖会的javascript中才需要加:”javascript,因为它不是事件而是把”javascript看成”http//”,”ftp//””thunder//”,”ed2k://’一样的网络协议)

<!== 当按钮被点击的时候执行javascript==>

<input type="button"οnclick="alert('99')"value=”久久”/>

——变量

简介:

Javascript中声明字符串:

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

两个变量:

Null:表示变量的值为空。

Undefined表示变量还没有指向任何对象,未初始化

Javascript是弱类型,声明变量的时候无法:int i=0;只能通过:var i=0;来声明变量,因此除非确实想用全局变量,否则使用的时候最好加上var,这里的var不同与c#中的类型推断

Javascript是动态类型,因此 var i=100; var=”aaa”;是合法的

例码:

<!==javascript中声明一个int类型的变量==>

<html>

   <head>

    <script type="text/javascript">

        var i =100;//声明一个变量i,并指向100这个整数,则此时的i为int类型

        i = "AAA";//覆盖i的值,此时的i为string类型

        alert(i);

    </script>

   </head>

</html>

——除错与调试

简介:

除错:如果javascript中的代码有语法错误,浏览器会弹出报错信息,查看报错信息就能帮助排查错误

 调试:javascript的调试,使用VS可以很方便的进行javascript的调试

注意:

IE的调试选项要打开,internet选项—>高级,去掉“禁用脚本调试”前的勾选。

以调试方式运行网页

设置断点。监视变量等操作和c#一样

例码:

<!==用循环语句的方法计算1100之间的整数和==>

<html>

     <head>

        <script type="text/javascript">

         var sum = 0;

         for (var i = 1; i <= 100; i++) {

        sum += i;

       }

      alert(sum);

    </script>

    </head>

</html>

——判断变量初始化

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

例码:

<!==第一种方法==>

        var x;

        If(x==null){

            alert("null");

        }

<!==第二种方法==>

        if(typeof(x)=="undefined"){

            alert("undefined");

        } 

<!==第三种方法==>

If(x)//判断x是否为undefined:是否被初始化或者变量是否不为空,或者变量是否不为0
 {
    alert("x")//如果是,则输出x
  }
 
if(!x)//如果x不为undefined
{
alert("不x");//输出“不x”
}

最好使用最后一种方法

 ——函数的声明

声明函数的方式:不需要声明返回值类型,参数类型,函数定义一fuction开头。

例码:

<!==声明函数==>

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

<!==调用函数==>

var r=add(1,2)
alert(r);
r=add("你好","tom");
alert(r);

(注意:javascript不像c#中那样要求所有路径都返回值,如果没有返回值,默认返回undefined

——匿名函数

简介:

1.类似于c#中的匿名函数

2.这种匿名函数的用法在JQuery中的非常多

例码:

<!==匿名函数==>

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

alert(f1(12, 12));

<!==第二种声明方法==>

alert(function (i1, i2) { return i1 + i2; }(10, 10)); //直接声明一和匿名函数,立即使用

 

——JS中的面向对象

简介:

Javascript中没有类的语法。是用函数闭包(closure)模拟出来的,理解的时候还是用c#中的类,构造函数的概念

Javascript中的StringDate等“类”都被叫做“对象”,方便初学者理解,但是不严谨

 例码:

<!==javascript中声明类==>

function Person (name,age){//声明一个函数,当成类用。
this.Name=name;
this.Age;
this.SayHello=function(){alert("你好,我是"+this.Name+",我今年"+this.Age+"岁了");
            }
var p1=new Person("tom",20);//不要去掉new,否则就编程调用函数了
p1.SayHello();     

(注意:必须要声明类名,function Person(nameage)可以看作是声明构造函数,Name Age这些属性也是使用者动态添加了——Array对象

简介:

Javascript中的array对象就是数组,首先是一个动态数组,而且是一个像c#中数组,ArrayListHanshtable等的超强综合体 

例码:

<!==Array对象==>

var names = new Array();
names[0]= "tom";
names[1]= "jerry";
names[2]= "lily";
for (var i = 0; i < names.length; i++) {
alert(names[i]);
 }  

(注意:Array对象是动态的,无需先制定大小

 <!== Array练习1:求一个数组中的最大值==>

function getMax(arr) {
 var max = arr[0];
 for (var i = 0; i < arr.length; i++) {
      if (arr[i] > max) {
      max = arr[i];
     }
  }
return max;
}
var arr1 = new Array();
arr1[0]= 20;
arr1[1]= 10;
arr1[2]= 21;
alert(getMax(arr1));

<!== Array练习2:反转一个数组中的元素,不要使用javascript中的反转函数==>

<script type="text/javascript">

        function MyReverse(arr) {

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

                var temp = arr[i];//交换元素最重要的是利用中间变量

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

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

            }

            alert(arr);

        }

        var arr= new Array();

        arr[0] = 3;

        arr[1] = "a";

        arr[2] = 8;

        arr[3] = "haha";

        MyReverse(arr);

    </script>


<!== Array练习3:在相邻两个元素之间加“|”,不要使用join==>

<script type="text/javascript">    
                function Myjion(arr) {
                if(arr.length < 0) {
                return""; 
                }
                var s =arr[0];        
                for (var i =1; i < arr.length; i++) {           
                s = s + "|" +arr[i];        
                }       
                return s;    
                }    
                var arr = new Array();    
                arr[0] = "tom";    
                arr[1] = "jerry";    
                arr[2] = "lily";    
                alert(Myjion(arr));
                </script>


 ——Js中的Dictionary

简介:

JS中的Array不仅是一个数组,还是一个Dictionary,还是一个Stack,能够像HashtableDictionary那样用,而且像它们一样效率高。

例码:

<!==Dictionary的用法==>

<script type="text/javascript">
         var pinyins = new Array();
         pinyins["人"] = "ren";//其中“人”是一个key,“ren”是一个value
         pinyins["口"] = "kou";
         pinyins["手"] = "shou";
 
         alert(pinyins["人"]);
         alert(pinyins.人);//和上面一样的效果,根据key来取value
         for (var k inpinyins) {//类似c#中的foreach
             alert(k);
         }
</script>

——Array的简化声明

Array简化的创建方式:

var arr = [3, 5, 6, 8, 9];普通数组初始化

这种数组可以看做是pinyins[“”]=”ren”;的特例,也就是key012···

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

var arr="tom";30,"jim";20;

——数组,for,及其他

简介:

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

var arr ="tom";"jim";"lily";;

Alert(join(“.”));//jsjoinarray的方法,不像是.NET中是string方法

For循环可以像c#中的foreach一样用

For循环还可以获得一个对象所有的成员,因为对象的成员就是以对象的key的形式出现的

for (ein document){

      alert(e);

}

有没有文档,都可以进行开发

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值