黑马程序员c#学习15

来源:互联网 发布:什么是java工程师 编辑:程序博客网 时间:2024/06/10 11:23
Windows Phone 7手机开发、.Net培训、期待与您交流!

1、javascript

   javascript 是一种在浏览器端执行的语言,它是一种解释性语言,无需编译就可以随时运行。

   javascrip可以说是一种弱语言,如果有部分语法错误,并不影响错误部分之前的代码的执行,另外 ,javascrip的变量也是
一种弱类型的,没有像C#中的那些int,double等多种数据类型,javascript中申明变量只有一个var,它可以是任意类型的,它
与c#中的var不同,c#中var一旦赋值后就是一个强类型的了,不能在存储不同类型的数据了,但是js中的var不同,它的数据类
型可以随时更改。这是一个区别。

2、javascript的基本结构

    在html文本中书写js代码,基本的结构和我们学过的css文件相同,首先是一个<script type=“text/javascript”>,然后

才是我们的js代码,最后以</script>结束

    我们以在head中写js代码为例

    <head>
 <script  type=“text/javascript”>
   js代码块;
 </script>
    </head>

   除了将js代码写在html文件中,我们还可以将 js代码也在一个独立的js文件中,然后在html文件中引入这个js文件。

    <head>
 <script  src='文件路径' type=“text/javascript”>
 </script>
    </head>

     注意,js代码可以写在<head>,<body>等任意位置。

           js文件的好处在于可以多页面共享同一段代码,减少网络流量 。

3、js事件

    html响应事件有方法

   <a href="1.html" onclick="js代码">点击</a>

    但是超链接是一个特例

    <a href="javascript:代码">点击</a>  这里在代码前加入javascript:表示点击超链接后导向的地址是一个javascript代
码,而不是超链接地址。

4、js变量

    js中申明变量只有一个var关键字,没有C#中的int,double等关键字,因为js是一种弱类型的,变量的数据类型可以随时更
改而不必担心数据类型不匹配的问题。

    js中如果不用var申明变量,而是直接使用,那么这样的变量可以理解为全局变量,不推荐这样使用。

    js中字符和字符串都可以用‘’或者“”

    js中变量有两种特殊的值,null表示值为空,undefined表示变量还没指向任何对象

    js中判断变量是否初始化的三种方法

    var i

    if(i==null){}

    if(typeof(i)=="undefined"){}

    if(!i){} 

5、js函数

    关键字  function

    语法    function  函数名(参数名){}

    注意与c#的区别,要使用关键字function

                    不需要写函数返回值类型

                    参数列表中的参数也不需要写明参数类型

                    js函数不要求所有路径都有返回值,如果没有返回值,则返回一个undefined。

     匿名函数的申明

         var  f = function(参数列表){};

     当我们需要调用这个匿名函数的时候,调用方法为f(参数列表),这里f相当于c#中的一个委托。

6、js中如何实现面向对象

    js中使用函数闭包来模拟面向对象中的类这个概念 看一个例子

    function person(name,age){

     this.Name = name; //动态添加的Name属性

     this.Age = age; //动态添加的Age属性

     this.sayshello = function(){};//添加的方法
  
    }

    var p1 = new person("abc",30);//申明一个p1  new关键字如果省略了就是调用函数,要模拟创建一个类,就必须使用
new关键字

    p1.sayhello();           //调用p1的sayhello方法

    注意,在使用闭包模拟类的时候,必须要写上“类”名,如上面的person。

    我们可以将这个函数看成一个构造函数,

7、js中的array对象

    js中的array对象的长度是不固定的,可以随时向array对象中添加数据,此外,array还可以当做一个dictionary来用

不仅可以用数组下标来访问,还可以通过key/value对来访问。

    比如 var arr = new Array()

    我们除了可以用arr[0] = 1来对arr初始化,也可以使用arr["key"] = value来进行初始化,当我们使用后一种方式来进行
初始化的时,在用for(var i in arr)来循环数组的时候,i取出来的是key值,而不是value值,而且我们还可以通过arr.key
来访问对应的值,不推荐这么使用当然我们使用传统的for(var i=0,i<arr.length,i++){ alert(arr[i])}来循环时,取出来
的还是value而不是key。这是一个要注意的地方。

    另外,Array数组对象还可以使用简化的创建方式,

    var arr = [1,2,3,4,5,];  简化创建一个数组

    var arr = {"key1":value1,"key2":value2} 简化创建一个字典

 

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