javascript 语法

基本语法

一、脚本代码的位置,可以在三个地方编写JavaScript脚本代码:

1、在网页文件的<script></script>标签对中直接编写脚本代码程序;

      使用最多的情况(一般放在head里面)。

      <script>标签的位置并不是固定的,可以出现在<head>或者<body>中的任何地方;而且在一个文档中可以有多个<script>标签来嵌入多段JavaScript代码,每段代码可以互相访问,同将所有JS代码放在一对<script>标签中的效果是一样的。

      旧版本的浏览器并不能识别<script>标签,会直接向用户显式其中的内容,而不是当做脚本语言去执行。为了解决这个问题,可以吧<script></script>标签对中的内容用HTML起始和结束注释标记<!--和-->包括起来。

      支持<script>标签的浏览器会忽略嵌入在<script></script>标签对中的注释符,也就是它会继续执行注释符之间的脚本程序。

2、将脚本代码放置在一个单独的文件中,在网页文件中引用这个脚本程序文件(.js文件);

      Js文件写好之后,只需要在HTML网页中引入JavaScript脚本文件的URL地址即可(也可以通过拖拽的方式)。

3、将脚本程序代码作为某个元素的事件属性值或超链接的href属性值

      超链接<a>的href属性除了可以使用http和mailto等协议之外,还可以使用Javascript协议。如:

  <a href=”javascript:alert(new Date())”>javascript</a>

      单击这个超链接,浏览器将会执行JavaScript:后面的脚本程序代码。

标示符

  在JS中声明一个变量用var,因为JS是一种弱类型的语言,在运行的时候才能够确定类型;字符串用双引号或者单引号都可以,但是推荐在HTML中用双引号,JS中用单引号。

 

JS中,定义一个变量但没有为之赋值,那么变量的值就为undefined,在这种情况下,可以使用两种方式判断变量值是否为undefined:

      var x;

if(!x)

{

      x=’new’;

}或

if(typeof(x)==’undefined’)

{

      x=’new’;

}

  值得一提的是JS中变量的作用域:在JS中不存在块级作用域,所以在if语句中声明的变量作用域在整个方法中都可以使用,包括for循环等。Var表示局部变量,不写var表示全局变量,如果在方法外定义变量像这样:var x;那么等同于全局变量,因为它在整个JS代码中都是可以被访问的。因此,我们在声明变量的时候尽量加上var。

 

  另外:switch-case语句中判断表达式结果用的是完全等于(===)。

函数

  

定义函数的格式:

function 函数名(参数列表)

{

      程序代码

      return 表达式;

}

      参数列表:就是程序在调用某个函数,执行其中的程序代码时,有时需要给函数传递一些参数,这时就有了参数列表(即使没有参数,方法名后面的括号也不能省)。

      返回值:如果主程序要求函数返回一个结果,就必须使return语句后面跟上这个要返回的结果。如果没有返回值或者不写return语句,这个函数就返回一个为undefined的值。

  

匿名函数

      又称作动态函数,后面直接加分号。

     var varName=new function( ){ };

      在之后的JS程序中,匿名函数用的非常之多。

系统函数

      可以直接调用这些函数来完成某些功能。

      1、encodeURI

      方法返回对一个URI字符串编码后的结果。URL是最常用的一种URI,URI的概念比URL表示的概念更大,它不仅限于描述Internet资源的地址,还包括数字对象标识符DOI和国际标准书号ISBN等标识名称。

      在一般情况下,可以简单地认为URL等同于URI。

例如:<script type=”text/javacsript”>

                 var temp=encodeURI(’http://www.baidu.com/百度知道’);

                 alert(temp);

</script>

结果如下:

      2、decodeURI

      DecodeURI方法将一个已编码的URI字符串解码成最初始的字符串并返回。

      3、parseInt

      parseInt方法将字符串转换为整数,当转换过程中遇到非数字则终止转换,只保留转换成功的数字;如果遇到的第一个就是非数字,则返回NaN(Not a Number)。

      parseInt有两个参数:(numString,[radix]),第一个参数是要进行转换的字符串;第二个参数是可选的。如果没有指定第二个参数,则前缀为‘0x’的字符串被视为十六进制,前缀为‘0’的字符串被视为十进制,默认为十进制。

类似的数据转换函数还有:parseFloat。

4、isNaN

  isNaN方法用于检测parseInt和parseFloat方法的返回值是否为NaN,如果是则返回true,不是则返回false。

      5、string

      把任意类型转换为字符串时,如果使用string()可以把null值转换为‘null’,但是如果使用ToString()方法就会报错。

6、eval

  eval(….)可以直接执行括号中的代码,就是把字符串编译成JS代码来执行。(不常用)

JS中的系统函数有很多,没有必要全部记住,在需要的时候我一般通过查看W3CSchool中的JavaScript参考手册来找到需要的内容。

对象

  调用对象的成员方法时,需要使用“对象实例.成员方法”的形式。This关键字一般只在用作对象成员方法的函数中出现,它代表某个成员方法执行时,引用该方法的当前对象实例。在对象的构造方法中使用“this.成员名”的形式,可以为该对象的每个对象实例都增加新的成员。

  随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指的是,调用函数的那个对象。

 

原文地址:https://www.cnblogs.com/iloveyoucc/p/2628202.html