贰、js的基础(一)

时间:2022-05-02 11:33:17

1、js的语法

a.区分大小写

b.弱类型变量:变量无特定类型

c.每行结尾的分号可有可无

d.括号用于代码块

e.注释的方法与c语言和java相同

2、变量

注意事项:

a.通过关键字var来声明。

b.可以声明多个变量。

c.同一个变量中储存不同的数据类型(最好是同一个变量只存储一种数据类型)

d.变量名称遵循的规则:

(1)首字符必须是字母(大小写均可)、下划线(_)或美元符号($);

(2)余下的字母随意

(3)变量名不能是关键字或者保留字。

3、数据类型

9种数据类型:未定义(Undefined)、空(Null)、布尔型(Boolean)、字符串(String)、数值(Number)、对象(Object)、引用(Reference)、列表(List)和完成(Commpletion)。

a、字符串:string对象用于处理已有的字符串。

规   则:字符包括字母、数字、标点符号和空格。字符串必须放在单引号和双引号里。

注   意:(1)复杂字符串可以用escaping方法来进行转椅;字符串具有leng属性,它返回字符串中字符的个数。

(2)即使字符包含双字节(ASCII字符只占用一个字节),每个字符也只算一个字符。

      (3)获取指定字符的属性charAt()方法,第一个字符位置为0,第二个位置为1,以此类推。

b、从某一段字符中取出一段字符串,可采用slice()、substring()、sunstr()方法。

<!--slice()和substring()-->
    <script>
      var mystring="1234567890abcdefghijk";
    document.write(mystring.slice(2,7)+"<br>");
     document.write(mystring.substring(12,20)+"<br>");
     document.write(mystring.slice(16)+"<br>");
 </script>

<!--slice()和substring()的区别-->

<script>
  var mybl="manaemjszhuzhu";
  document.write(mybl.slice(6,-4)+"<br>");
  document.write(mybl.substring(6,-4)+"<br>");
</script>

注意:slice()负参数时,从字符串的末尾往前计数;substring()负参数时,直接忽略负数,作为0来处理,并将较小的作为起始值,较大的作为终止位。

c、搜索操作字符,使用indexOf()和lastIndexOf()两种方法。

<script>
  var myjiequ="wodejiequzifuchuangyiyayiayo";
  document.write(myjiequ.indexOf("i")+"<br>");//从前往后搜索,第5个是
  document.write(myjiequ.indexOf("i",12)+"<br>");//可选参数,从第几个字符开始往后找
  document.write(myjiequ.lastIndexOf("i")+"<br>");//从后往前搜索
  document.write(myjiequ.lastIndexOf("i",8)+"<br>");//可选参数,从第几个字符开始往前找
  document.write(myjiequ.lastIndexOf("z",8)+"<br>");//字符串z,找不到,返回-1
</script>

d、数值(可以是任意的数字,包括小数和负数)

<!--数值的科学计数法toExponential()-->
<script language="javascript">
var mynumber=8907;//注意数据类型,数值的写法,数字不能用引号引起来。
alert(mynumber.toExponential(2));
</script>

e、布尔型(只有2个只:false和true;布尔型不能用引号引起来)

<!--布尔型变量的正确写法-->
<script>
  var married=true;
  alert("1."+typeof(married));
  married="true";
  alert("2."+typeof(married));//typeof()查看数据的类型
</script>

f、类型转换(转换函数、强制类型转换、利用js变量弱类型转换)

详情见——贰、js的基础(二)

g、数组:有名称相同的多个值构成一个集合。

(1)使用关键字array来声明;可以指定这个数组元素的个数(也就是长度);数据元素可以是字符串、数值和布尔值。

(2)数组的声明方法:

  arrayObj = new Array(); //创建一个数组。

    代码如下:var arr1 = new Array();

arrayObj = new Array([size]) 创建一个数组并指定长度,注意不是上限,是长度。

     代码如下:var a = new Array(5);

arrayObj = new Array([element0[, element1[, ...[, elementN]]]]) 创建一个数组并赋值。

代码如下:var a = new Array(["b", 2, "a", 4,]);

arrayObj = [element0, element1, ..., elementN] 创建一个数组并赋值的简写,注意这里中括号不表示可省略。

代码如下:var a = ["b", 2, "a", 4,];

(注):注意带“[]”与不带“[]”的区别

代码如下:

var a = new Array(5); //指创建长度为5的数组

   var a = new Array([5]); //指创建一个数组,长度为1,并且第一位是5
(3)数组的使用方法
      详情见——贰、js的基础(三)
4、关键字:描述了一组具有特定用途的关键字。这些关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等。按照规则,关键字也是语言保留的,不能用作标识符
break do instanceof typeof
case else new var
catch finally return void
continue for switch while
debugger* function this with
default if throw delete
in try    
5、保留字:ECMA-262 还描述了另外一组不能用作标识符的保留字。尽管保留字在这门语言中还没有任何特定的用途。但它们有可能在将来被用作关键字。以下是ECMA-262 第3 版定义的全部保留字
abstract enum int short
boolean export interface static
byte extends long super
char final native synchronized
class float package throws
const goto private transient
debugger implements protected volatile
double import public  


第5 版把在非严格模式下运行时的保留字缩减为下列这些:

class enum extends super
const export import  



在严格模式下,第5 版还对以下保留字施加了限制:

implements package public interface
private static let protected
yield