传智播客学习之JavaScript基础篇

  一、JavaScript与java的区别

  1.JavaScript是Netscape公司的产品,Java是Sun公司的产品。

  2.JavaScript是基于对象,Java是面向对象。

  3.JavaScript只需解释就可以执行,Java需要先编译成字节码文件,再执行。

  4.JavaScript是弱类型,Java是强类型。

  小结:其实java与JavaScript除了名字上有些像以外,然后JavaScript借用了部分java思想外,其余别的几乎没有什么关系。

  二、如何将JavaScript与Html的结合

  1.标签形式

  我们将JavaScript代码存放在标签对<script>...</script>中。可以放在任何位置。

  2.导入方式

  使用script标签的src属性引入一个JavaScript文件。

  例如:<script src=”test.js” type=”javascript”></script>

  注意:规范中script标签中必须加入type属性。

  三、JavaScript语法

  1.变量

  通过关键字var来定义,由于是弱类型,所以不用指定具体的数据类型。

  例:var x = 3; x = “hello”;

  注意:1)在JavaScript中单引号和双引号没有区别,但是最好写双引号,规范。

  2)在JavaScript中特殊的常量值:undefined,当变量没有初始化就被使用,该变 量的值就是undefined(未定义)。

  2.运算符

  与其他编程语言一样,与java类似。也支持字符串连接符(+)以及三元运算符(? :),不同的是三元运算符不需要有值,可以直接在语句输出等。

  3.语句

  语句格式与各种编程语言差不多,也有判断,选择以及循环。但是注意一下几点:

  1)在JavaScript中非0 为真。例如下面代码

  var x = 3;

  if(x==4)//可以进行比较运算。

  if(x=4)//可以进行赋值运算,而且可以同样进行判断。不报错。结果为true,所以在if语句后可以倒过来写if(4==x),这样如果写成4=x会报错。可以纠正错误。

  2)switch里面没有类型限制

  3)循环一定要有结束条件

  4)连接boolean运算,一定要用&&或者||,如果用&或者|会进行位运算

  四.函数

  1.一般函数

  格式:

  function 函数名(形式参数...)

  {

  执行语句;

  return 返回值;

  }

  注意:1)return语句可以不写,函数一定要被调用才会运行。

  2)形式参数没有必要加var,是弱类型。

  3)调用有参数的函数,但没有给其传值,或传多于参数个数的值,函数一样可以运 行,或者调用没有参数的函数,给其传值,该函数也一样运行。

  4)JavaScript中没有重载函数形式

  因为在JavaScript中实际将函数的多个参数封装在一个arguments数组中,所以可以接受任意多个参数,但是最好还是按定义好的形式参数传递实际参数。

  5)注意下面的例子

  var show = demo();

  上面这条语句表示的是show变量接收demo函数的返回值。

  var show = demo;

  上面这条语句表示的是show与demo代表同一函数,指向同意对象

  2.动态函数

  通过JavaScript的内置对象Function实现。如下:

  var demo = new Function("x,y","var sum = x+y; alert(sum);");

  demo(5,2);

  动态函数与一般函数不同的是,参数以及函数体都可以通过参数进行传递,可以动态指定。

  3.匿名函数

  格式:function()

  例:var demo = function(){alert("snow");}

  demo();

  注意:通常在定义事件属性的行为时较为常用。

  4.其他形式

  var p = new Object();

  p.name ="lisi";

  p.age=31;

  p.demo = show;

  alert(p.name +":"+p.age+demo(4,5));

  function show(x,y){return x+y;}

  五、数组

  在JavaScript中,数组结合了集合的特性,可以存任意元素,长度也是可变的。而且在赋值的时候不是大括号而是中括号,如下:

  var arr = new Array();

  arr[0] = “ashf”;

  arr[1] = 258;

  或者var arr = [“ashf”,258,true,'sfa'];

  注意在遍历的时候不要int x了,要var x,弱类型。

  二维数组: var arrr = [[元素,元素....],[元素...],[元素....].....]

  六、内置对象

  在JavaScript中,内置了很多对象,比如String,Object,Date等,可以查阅相关帮助文档(如有需要,可以留下邮箱),这里主要对部分不同处做简单说明。

  1.String中length是属性,不是方法

  2.String中substring(a,b)方法是取a到b-1的字符,而substr(a,b)方法从a开始,取b个字符

  3.a.toString(b)返回b进制的a形式

  4.parseInt("a",b)会将b进制的a转换成十进制形式的a

  七、自定义对象

  在JavaScript中,除了已经提供的内置对象外,也可以自定义对象。

  方式一:

  function car(){}

  var c = new car();

  c.color = "white";

  c.tyre = 4;

  c.run = show;

  function show(){alert(c.color+c.tyre+“run”);}

  c.run();

  方式二:

  function car(color,tyre)

  {

  this.color = color;

  this.tyre = tyre;

  }

  var c = new car(“white”,4);

  alert(c.color+":"+c["tyre"]);

  八、用于操作对象的语句

  1.with语句

  当调用一个对象中多个成员时,为了简化调用,避免”对象.”这种格式的重复书写。

  格式:with(对象){ 这里面代码不用加(对象.属性)了 }

  var p = new car("white",4);

  alert(c.color+":"+c["tyre"]);

  可以写成:

  var p = new car("white",4);

  with(car){alert(color+":"+tyre)};

  注意:with语句定义了某个对象的作用域,在该域中可以直接调用该对象的成员。

  for...in语句

  For 变量in对象 语句:遍历对象中的成员,如果遍历数组,变量里面是脚标

  获取对象的值 对象【变量】,变量是属性名