web前台—JS琐记

1. 在js中为某个对象(控件)绑定事件通常可以采取两种手段:
1)<input type=”button” οnclick=”clickHandler();”>
2)<input type=”button” id=”button1”>
<script type=”text/javascript”>
var v = document.getElementById(“button1”);
v.onclick = clickHandler;
</script>

 

2. 有两种类型的cookie
1) 持久性cookie,会被存储到客户端的硬盘上。
2) 会话Cookie:不会存储到客户端的硬盘上,而是放在浏览器进程所处的内存当中,当浏览器关闭则该会话cookie就销毁了。

 

3. 在JavaScript中,函数(function)就是对象。

 

4. 在JavaScript中,没有方法(函数)重载的概念。

 

5. 在JavaScript中有一个Function对象,所有自定义的函数都是Function对象类型的。Function对象接收的所有参数都是字符串类型的,其中最后一个参数就是要执行的函数体,而前面的参数则是函数真正需要接收的参数。

 

6. 在JavaScript中,每个函数都有一个隐含的对象arguments,表示给函数实际传递的参数。

 

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

 

javaScript是网景netscape公司开发的一种基于客户端浏览器,面向对象,事件驱动式的网页

脚本语言。前身叫livescript。

 

<script>

   function add(num){

     alert(1);

   }

   function add(num,num1){

     alert(2);

   }

   add(123);               // 这里只会执行alert(2),因为js中没有重载的概念,下面的方面会覆盖上面的方法。

</script>                   // 所以alert(1)永远不会执行。

 

同样的道理,如下题:

  <script type="text/javascript">
  var add = new Function("number", "number1", "alert('1---');alert(number + number1);");

  var add = new Function("number", "alert('2---');alert(number + 20);");

  add(10, 30);   //这里也只会执行第二个方法。结果为2---   30.

  </script>

 

 

JS中有个arguments隐式参数的感念,相当于你传的值都可以隐式的放在arguments中,如下

  function add()
  {
   if(1 == arguments.length)
   {
    alert(arguments[0]);
   }
   else if(2 == arguments.length)
   {
    alert(arguments[0] + arguments[1]);
   }
   else if(3 == arguments.length)
   {
    alert(arguments[0] + arguments[1] + arguments[2]);
   }
  }

  
add2(3);          //得到3
add2(3, 4);     // 得到7
add2(3, 4, 5);  //得到12

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

1 每一个函数对象都有一个length属性,表示该函数期望接收的参数格式。它与函数的arguments不同,arguments.length表示函数实际接收的参数格式。

 

2. JavaScript中有五种原始数据类型:Undefined、Null、Boolean、Number以及String。

3. Undefined数据类型的值只有一个:undefined。
4. Null数据类型的值只有一个:null。
5. Boolean数据类型的值有两个:true和false。
6. JavaScript中没有char数据类型。

7. typeof是一元运算符,后跟变量的名称,用于获取变量的数据类型,其返回值有5个:undefined、boolean、number、string以及object。

8. 在JavaScript中,如果函数没有声明返回值,那么会返回undefined。
9. null与undefined的关系:undefined实际上是从null派生出来的。

10. 强制类型转换:在JavaScript中有3种强制类型转换:Boolean(value),Number(value),String(value)。

11. 在JavaScript中,对于函数中定义的变量来说,加var表示局部变量,不加var表示全局变量。

12. 在JavaScript,所有对象都是从Object对象继承过来的。Object中的属性是不可枚举的(propertyIsEnumerable返回false),因此无法通过for…in语句得到其中的属性。

13. 在JavaScript中,可以动态添加对象的属性,也可以动态删除对象的属性。如下:

         var ooo=new Object();
          alert(ooo.name);
         ooo["name"]='tiankong';
          alert(ooo.name);
         delete ooo.name;
          alert(ooo.name);

14. 在JavaScript中定义对象的第二种方式:

     var object = {name:"zhangsan",pw:123};

15. 对于JavaScript数组的sort方法来说,它会先将待排序的内容转换为字符串(调用toString()方法),按照字符串的先后顺序进行排序.

16. JavaScript中定义对象的几种方式(JavaScript中没有类的概念,只有对象):

1) 基于已有对象扩充其属性和方法:

    var object = new Object();

    object.name = "ok";

    object.sayHello=function(name){

        this.name = name ;

        alert(this.name);

     }

 

    object.sayHello("okTwo");

2)工厂方式

function createObject(){

   var object = new Object();

   object.name = "zhangsan";

   object.password = 123;

   object.say = function(){

      alert(this.name);

   }

   return object;

}

 

var ob1 = createObject();

var ob2 = createObject();

 ob1.say();   // "zhangsan"

 alert(ob1 == ob2); //  false.但是如果将var object = new Object();提到函数外面为全局变量,那么就为true。

带参数的构造方法:

function createObject(name,password){

   var object = new Object();

   object.name = name;

   object.password = password;

   object.say = function(){

      alert(this.name);

   }

   return object;

}

 

var ob1 = createObject("zhangsan",123);

 

让一个函数对象被多个对象所共享,而不是每一个对象拥有一个函数对象。

function say(){

  alert(this.name);

}

 

function createObject(name,password){

   var object = new Object();

   object.name = name;

   object.password = password;

   object.say = say;

   return object;

}

3) 构造函数方式

function createObject(){

   this.name = "zhangsan";

   this.password = 123;

   this.say = function(){

      alert(this.name);

   }
}

 

var ob1  = new createObject();  //可以在构造对象时传递参数
ob1.say();     

4)原型(“prototype”)方式

   function Person(){}
   Person.prototype.name = "zhaosan";
 
   var p1 = new Person();
   alert(p1.name);                    //方法这些都要加prototype关键字

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值