当前位置: 代码迷 >> JavaScript >> Javascript温习必记知识点
  详细解决方案

Javascript温习必记知识点

热度:419   发布时间:2013-03-01 18:33:02.0
Javascript复习必记知识点

1,解释型语言  和编译型语言

编译型:

先讲我们编写的代码,转换成计算机能够读懂的字节码,然后将将这些字节码保存起来,生成一个可执行文件,当下次需要的时候直接执行这个可执行文件(java, c)

 

解释型:

先讲我们编写的代码,转换成计算机能够读懂的字节码,然后并不是保存起来生成可执行文件,而是直接执行(php,javascript

 

 

2javascript的变量作用域

全局作用域:javascript可执行的所有范围都起作用

 

局部作用域:当前函数内起作用

举个例子:

如果函数内部定义了和函数外部相同的变量,函数内部操作的是局部范围的变量,函数外部操作的全局范围的变量

 

       varv = 'global';

       functionf1(){

              varv = 'function';

              alert(v);

       }

       f1();

 

    var v = 'global';

       functionf1(){

              alert(v);

              varv = 'function';

       }

       f1();

 

为什么是undefined

Javascript代码执行流程:

Javascript代码整体上是按照html文档流执行,但是也并不是完全按照,而是优先执行函数,这时函数内部的局部变量暂时设置为undefined

 

3

       varv = 1;

       functionf1(){

              v+= 1;

              alert(v);

       }

       f1();

       f1();

 

Javascript的数据类型:(8大数据类型)

基本数据类型(原始数据类型)

Undefined

声明了但是未初始化(第一次赋值)

函数没有返回值

Null

未找到的(未定义的对象),一个对象

Boolean

Truefalse

Number

整数和小数都是数值类型

String

Javascript是基于对象的语言,因为他没有类的概念

所有的数据都是对象,

----对象   俄罗斯人  ,美国人中国人是类型

       varstr = 'hello world';

       varstr2 = 'nihao';

       //alert(str.length);

       //alert(str.concat(str2));

       alert(str.toUpperCase());//验证码不区分大小写的时候

       alert(str.substr(2,3));//参数1,待截取的字符的索引,参数2,截取的长度

 

对象数据类型(引用数据类型)

1,数组

       //获得数组

       vararr = ['xiaobai',123];

       vararr2 = new Array('xiaohei',456);

       //引用数据类型(引用的是同一个地址)

       vararr3 = arr2;

       arr2.push('hello');

       //alert(arr3);

       varstr = arr2.toString();

       alert(typeof(str));

for ...in

       //遍历数组的元素

       vararr = ['zhangsan','lisi','wangwu','zaholiu'];

       vari;

       for(iin arr){

              alert(arr[i]);

       }

 

2,对象

  获得对象

(1)new Object()

(2)通过构造器(构造函数获得对象)

       //通过构造函数(构造器)获得对象

       function student(){

              this.name="wanger";

       }

       var obj = new student();

       alert(obj.name);

说明:构造器就是一个普通的函数,只是当我们通过new 函数名()来调用的时候,获得一个对象,这时候这个函数就称之为构造函数,构造函数内部通常使用this来代表当前的对象

(3)json  {}

       varobj = new student();

       alert(obj.name);

       //通过json快捷语法来获得

       varobj2 = {'name':'zhangsan'};

       alert(obj2.name);

 

Javascript 内置对象

作业:比较floor   ceil   round 区别

       varnum = 0.123;

       alert(Math.ceil(num));  //1

       alert(Math.round(num));//1

       alert(Math.floor(num));//0

 

随机点名:

 

Date对象数字时钟

 

 

函数对象

       //函数是一个值,因为我们可以用一个变量来保存,通过变量(函数名)来找到这个函数

       varf1 = function(){

              alert('hello');

       }

       f1();

       alert(typeof(f1));

 

Alert()

Window.alert();

函数作用域链:

从最低级向上一级查找的过程

 

函数的参数:

函数的参数在调用时和声明时,参数个数可以不一致,因为在函数内部有一个专门管理函数参数的对象,这个对象可以获得真实的参数

求函数参数的和

function f2(n1,n2,n3,n4){

              alert(arguments[1]);

       }

       f2(1,2,4,5);

 

confirm

<p id="p1">删除我吧</p>

<scripttype="text/javascript">

       //alert(confirm('确认要删除吗'));

       //获得用户点击哪个按钮(确认还是取消),确认返回true 取消返回false

       if(confirm('确认要删除吗')){

              document.getElementById("p1").innerHTML='';

       }

</script>

 

猜数字

alert(prompt('请输入数字',2));

       //随机产生一个数字

       //让用户输入的数字和随机产生的进行比较

       //规定次数

       varrandom = Math.random()*100;

       varinput = prompt('请输入数字',2);

       if(input<random){

              alert("你猜的数字太小了");

       }elseif(input>random){

              alert("你猜的数字太大了");

       }elseif(input==random){

              alert("恭喜你猜对了");

       }

 

 

Eval() 函数会将函数的参数当作js的表达式来运行

例如eval‘1+2’)结果是3

input表单中,如果是text  password这种输入类型的文本框的话,size 属性规定用户可以输入的字符个数

如果是其他的属性的表单的话,size表示所占像素的大小

 

注意:

获得标签的内容innerHTML

获得表单的值  value

 

计算器

核心代码

       /*

              获得用户输入的数字绑定onclick事件

              开始运算

              求结果

       */

              varflag = true;

              functiongetNum(num){

                     if(!flag){

                            document.getElementById('res').value= '';

                            flag= true;

                     }

                     document.getElementById('res').value+= num;

              }

              functiongetRes(){

                     varnum = document.getElementById('res').value;

                     num= eval(num);

                     document.getElementById('res').value= num;

                     flag= false;

              }

  相关解决方案