javascript笔记1

1.javascript函数

1.1实现可变参数

<scripttype="text/javascript">

   //函数的可变参数介绍

   function testParams()

   {

      var params = "";

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

         params+=""+arguments[i];

      alert(params);

   }

   testParams("asd","zxc","qwe");

   testParams(1,23 , "abc");

</script>

 

1.2创建动态函数

格式:var varName = new Function(argument1,... , lastArgument);

说明:所有的参数必须是字符串型的,最后的参数必须是这个动态函数的功能程序代码

<scripttype="text/javascript">

   var add = new Function("x","y","var sum; sum=x+y; returnsum");

   alert(add(2,3));

   /*(上面的动态函数的作用相当于下面的函数)

   function add(x,y)

   {

      var sum;

      sum = x+y;

      return sum;

   }

   */

</script>

 

1.3一些系统函数

(1)encodeURI方法

(2)decodeURI方法

(3)parseInt方法

(4)parseFloat

(5)isNaN

(6)escape 返回一个字符串进行编码后的结果字符串

(7)Unescape 

(8)Eval  将其中的字符串作为一个javascript表达式执行

2  javascript对象

1语法:var objinstance = new ObjectName(参数列表);

只要定义了一个对象的构造函数,就等于定义了一个对象。

 

2构造方法与this关键字

为一个对象实例新增加的属性和方法,不会增加到同一个对象所产生的其他对象实例上

3所有的实例对象在创建后都会自动调用构造函数,在构造函数中增加的属相和方法会被增加到每个对象实例上。

4 对象实例是用new关键字创建的,在构造函数中不要有返回结果的return语句

5 this关键字代表某个成员方法执行时,引用该方法的当前对象实例。所以this关键字一般只在用作对象方法的函数中出现。

<scripttype="text/javascript">

   //构造函数

   function Person(name, age)

   {

      alert(name + age);

      this.name = name;//成员变量

      this.age = age;

      this.say = say;

   }

   function say()

   {

      document.write(this.name+":"+this.age);

   }

   var person1 = new Person("张三", 19);

   person1.say();

   var person2 = new Person("李四", 30);

   person2.say();

</script>

 

6在函数中修改参数值的问题

注意下面两个程序的区别:

<scripttype="text/javascript">

   function change(x)

   {

      x=5;//此处的x为局部变量

   }

   var x= 1;

   change(x);

   alert(x);//次数的x值为1

</script>

<scripttype="text/javascript">

   //构造函数

   function Person(name, age)

   {

      this.name = name;//成员变量

      this.age = age;

   }

   function changeValue(p)

   {

      p.name = "修改了";

   }

   var person1 = new Person("张三", 19);

   alert(person1.name);//此处值为“张三”

   changeValue(person1);

   alert(person1.name);//此处值为“修改了”

</script>

7.Javascript的内部对象

动态对象:用new创建

静态对象:直接使用  “对象名.成员” 的格式来访问。

 

Object

String

Math

 

Object对象:提供了一种创建自定义对象的简单方式,不需要程序员再定义构造函数

<scripttype="text/javascript">

   function getAttributeValue(attr)

   {

      alert(person[attr]);

   }

   var person = new Object();

   person.name= "wang";

   getAttributeValue("name");

</script>

 

String对象

Lingth属性

Anchor,big, bold, fontscolor, link 等方法

charAt方法    charCodeAt 方法  indexOf 方法 lastIndexOf方法 match方法 search方法

Replace 方法  split方法 slice方法  substr方法  substring方法 toLowerCase方法

 

 

Math对象

属性:E ,LN10,LN2 , PI,SQRT1,SQRT2

方法:abs, sin,cos , asin, acos, random,

 

Date对象

方法:parse,toGMTString,getYeat, getMonth,  getDate, getDay,  getHours, getTime,

 

对象专用语句:

With语句

For 。。。In语句

 

With(对象名)

{

执行语句块

}

 

Eg:

<scripttype="text/javascript">

   var dateNow = new Date();

   with(dateNow)

   {

      var strDate = "" + getFullYear();

      strDate += getMonth();

      strDate += getDay();

   }

   alert(strDate);

</script>

For( 变量 in对象)

{

执行语句

}

<scripttype="text/javascript">

   function Person()

   {

      this.name = "hah";

      this.age = 13;

      this.height = 124;

   }

   var person = new Person();

   var prop;

   for(prop in person)

   {

      alert(prop);

   }

</script>

 

数组

1数组列表

用于表示一组数据的集合,如var arr = ["zas", 234 , 3.4 , "li"]';

<scripttype="text/javascript">

   var arr = [111,["hah"+1234, 1324,, 2.3,"liu"],[1,"ad",1.2]];

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

   {

      if(arr[i].length){

         for(var j=0;j<arr[i].length;j++)

         {

            alert(arr[i][j]);

         }

      }else{

         alert(arr[i]);

      }

   }

</script>

 

2用对象的方式实现数组

<scripttype="text/javascript">

   function myArray()

   {

      this.length = arguments.length;

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

      {

         this[i] = arguments[i];

      }

   }

   var arr = new myArray(1,3.3,"asf");

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

   {

      alert(arr[i]);

   }

</script>

 

3Array对象

三种构造函数:

array();

Array(4);

Array(3.5 , "in" , 3);


屏蔽鼠标右键

<script type="text/javascript">
			function hideContextmenu()
			{
				return false;
			}
			document.oncontextmenu = hideContextmenu;
		</script>


你可能感兴趣的:(javascript笔记1)