JS技术

JavaScript学习(1):基础

字号+ 作者:H5之家 来源:H5之家 2015-09-14 11:00 我要评论( )

这篇文章里,我们来聊一些JavaScript的基础知识。 1. 如何运行JavaScript? JavaScript是一种解释型的语言,它不需要提前编译。通常情况下,JavaScript会放在网页中,在浏览器中运行。我们也可以找到一些在线的可以运行JavaScript的平台,当然我们也可以在Fi

  这篇文章里,我们来聊一些JavaScript的基础知识。

  1. 如何运行JavaScript?

  JavaScript是一种解释型的语言,它不需要提前编译。通常情况下,JavaScript会放在网页中,在浏览器中运行。我们也可以找到一些在线的可以运行JavaScript的平台,当然我们也可以在Firefox或者Chrome里运行。

  我在网上找到了一个可以在线运行的网站:runjs,文章中的代码都是在该网站上运行的。

  实际上,我们可以在本地创建一个简单的网页,然后通过编辑网页的方式来测试JavaScript代码。

  下面是代码的基本运行结构:

1 $(document).ready( 2 function(){ print(add(1,1)); 5 }); print(obj){ 9 document.write(obj); 10 document.write("<br>"); 11 } add(left, right){ 15 return left + right; 16 }

  2. JavaScript基本数据类型

  JavaScript的基本数据类型包括6种:number/string/boolean/object/function/undefined。

  2.1 number类型

  number类型用来存储数值,它描述的是64位的浮点型数值。但Javascript并不能表示0-2e64之间的所有数值,因为它还需要表示非整数,包括复数、分数等。对于64位来说,需要使用11位来存储数字的小数部分,使用1位来表示正负,所以JavaScript实际上可以表示-2e52到2e52之间的值。

  2.2 string类型

  string类型用来表示文本,可以使用单引号或者双引号来包括文本,任何放在引号内的符号,都会被认为是string,但对于特殊符号,可能需要转义处理。

  2.3 boolean类型

  boolean类型只包括两个值:true和false。我们可以在程序中使用各种boolean表达式来得到true或者false,从而实现不同的业务分支处理。

  我们可以在表达式中包含多个条件,条件之间可以是与或非的关系,在计算时,优先级如下:||的优先级最低,其次是&&,然后是比较运算符,最后是其他运算符(例如!)。

  和其他许多语言一样,对于&&来说,当前面的条件为false时,后面的条件不再计算,对于||来说,当前面的条件为true时,后面的条件不再计算。

  来看下面的例子:

1 function conditionTest(){ 2 var a = 1; 3 var b = 1; 4 var c = {"key":"old"}; 5 print(c["key"]); 6 if (a==1) print("a = 1"); 7 if (a==1 && b==1) print("a == 1 && b == 1"); 8 if (a==1 || changeValue(c)) print(c["key"]); 9 if (a==1 && changeValue(c)) print(c["key"]); 10 } changeValue(obj){ 13 obj["key"] = "changed"; ; 15 }

  它的输出结果如下:

old a = 1 a == 1 && b == 1 old changed

  可以看出,在使用||时,没有调用changeValue方法。

  2.4 undefined类型

  当我们声明了一个变量,但是没有对其赋值时,它就是undefined的,就像下面这样

1 var b; 2 print(b);

  在Javascript中,还有一个和undefined类似的值:null。undefined表示“变量已声明但是没有复制”,null表示“变量已赋值但为空”,需要注意的是undefined==null的值为true。

  2.5 类型转换

  我们在上面提到了undefined == null的值是true,但我们使用typeof操作时可以发现,null是object类型,这说明在比较的过程中,发生了类型转换。

  类型转换是指将一种类型的值转换成另外一种类型的值。我们使用==进行比较时,会有类型转换,我们可以使用===来禁止类型转换。

  来看下面的例子:

1 function convertTypeTest(){ 2 var a = 1; 3 var b = "1"; 4 print ("a:" + a); 5 print ("b:" + b); 6 print ("type of a:" + typeof a); 7 print ("type of b:" + typeof b); 8 print ("a==b:" + (a == b)); 9 print ("a===b:" + (a === b)); 10 print ("a===Number(b):" + (a === Number(b))); 11 print ("String(a)===b:" + (String(a) === b)); 12 print ("type of undefined:" + typeof undefined); 13 print ("type of null:" + typeof null); 14 print ("undefined==null:" + (undefined == null)); 15 print ("undefined===null:" + (undefined === null)); 16 }

  输出结果如下:

a:1 b:1 type of a:number type of b:string a==b:true a===b:false a===Number(b):true String(a)===b:true type of undefined:undefined type of null:object undefined==null:true undefined===null:false

  可以很明显看到==和===的区别。

  3. JavaScript基本逻辑流程控制

  和大部分编程语言一样,JavaScript的逻辑控制基本上也是分为顺序、循环和条件。

  3.1 顺序

  上面给出的各个示例代码都是顺序执行的。

  3.2 循环

  JavaScript使用for、while来完成循环,下面是一个从1加到100的例子:

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 老生常谈,JavaScript闭包中的this对象

    老生常谈,JavaScript闭包中的this对象

    2016-02-26 10:21

  • 学习JavaScript之this,call,apply

    学习JavaScript之this,call,apply

    2016-01-28 20:45

  • JavaScript复习笔记--字符串

    JavaScript复习笔记--字符串

    2016-01-27 17:16

  • WEB前端教程-JavaScript里的类和继承

    WEB前端教程-JavaScript里的类和继承

    2016-01-21 15:28

网友点评
p