javascript 复习一

  •  

    注意:JS解释器遇到alert()语句后,会停止执行,直到用户点了alert的确认按钮后才会继续。

    先学JavaScript语言本身;
  • 再学DOM和BOM;
  • 最后学JQuery.

--输出手段(用于打印测试信息)

  • alert("字符串");   //弹出一个只有确定按钮的窗口,窗口内显示字符串的内容。
  • document.write("字符串");  //在页面内打印字符串,类似于PhP的echo语句。

 

关于命名

 

--命名规范

 

  • 一定要有意义;
  • 用英文单字或缩写,不要用拼音;
  • 不能是系统关键字(比如if,while之类的),php是能以系统关键字作为变量名的,因为它的变量前都有'$'符号,以做区分;
  • 不能以数字开头,可以以'$'开头 ;
  • 运算符不能出现在变量名中;
  • 变量、函数名:第一个单词小写,以后每个单词首字符大写(驼峰式命名)。
  • 类名,对象名:每个单词的首字符大写。

本章目录

1.关于命名

2.关于语句

3.关于常量、变量

4.关于数据类型

 

关于命名

--命名规范

  • 一定要有意义;
  • 用英文单字或缩写,不要用拼音;
  • 不能是系统关键字(比如if,while之类的),php是能以系统关键字作为变量名的,因为它的变量前都有'$'符号,以做区分;
  • 不能以数字开头,可以以'$'开头 ;
  • 运算符不能出现在变量名中;
  • 变量、函数名:第一个单词小写,以后每个单词首字符大写(驼峰式命名)。
  • 类名,对象名:每个单词的首字符大写。

 

--关于大小写的区分

    JavaScript是严格区分大小写的。

 

 

关于语句

--语句

    JS每条语句以';'(或者换行)表示语句结束。  

 

--注释

  • 单行注释: //
  • 多行注释: /*     */

 

关于常量、变量

--关于常量

    JS没有常量。

 

--变量的声明方法

    JS与PHP不同,JS里面的变量是要先声明再使用的。

声明方法:

  1. VAR a = 100; //声明了一个变量a,值为100,由于JS是一个弱类型语言,所以声明变量时不用写类型

 

--变量的使用

    JS的变量与c一样,直接用变量名,例如:

  1. a = 2+b; //变量a的值等于变量b的值加上2

 

--变量的释放时间

    html页面解释完毕时JS变量是不会释放的,在用户关闭浏览器后才会释放变量。

 

--全局、局部变量

js和c一样,分全局和局部变量(函数内部定义的变量),使用方式也一致。

 

关于数据类型

--JS有哪些数据类型

1.number  包括整型,浮点型(int,float,double)。虽然整形和浮点都叫number型,但使用时还是整形和浮点型分开看,有整形转浮点,浮点转整形的函数;

2.string 包括字符串,字符(string,char)。

3.boolean 布尔型。

4.object 包括数组,类,空类型(array,object,null)。虽然数组和对象都叫object型,但使用时还是数组和类分开看。数组也分关联和索引。

5.undefined  没有声明变量。

 

--如何查看某变量的类型

    使用typeof(变量名),查看变量类型。

 

--十进制,八进制,十六进制number

  • number变量默认十进制;
  • 使用0数值,是八进制;
  • 使用0x数值,是十六进制;

 

--关于浮点数的比较

所有浮点数都是近似值,所以浮点数之间的比较不要用"=",应该用关系运算符。

 

--单引号,双引号字符串的区别

  • 单引号,双引号都可以表示字符串,没有区别,他们都不能在里面包含变量,但都可以包含转义字符。
  • 单引号里可以有双引号,双引号里可以有单引号。

 

--字符串连接符

    '+'可以连接两个字符串,比如:

  1. b = 'bbb';
  2. alert(‘aaa’+b+'ccc'); //将打印aaabbbccc

运算符

--运算符的分类

  • 算术运算符:              +, -, *, /, %, ++, --
  • 关系运算符(条件运算符): >, <, ==, !=, >=, <=, ===, !==
  • 逻辑运算符:              &&, ||, !
  • 赋值运算符:              =, +=, -=, *=, /=, %=
  • 位运算符:                >>, <<, >>>, |, ~
  • 其他运算符:              ? :

 

  • parseInt() 函数
  1. parseInt(string, radix); //可解析一个字符串,并返回一个整数。这里是割舍,不是四舍五入

    string参数,必要。表示要被解析的字符串。  

    radix参数,可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。

    如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。

    如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。

   提示:如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。

  • parseFloat(string)
  1. parseFloat(string); //函数可解析一个字符串,并返回一个浮点数。

注释:开头和结尾的空格是允许的。例如parseFloat("   60.5abc "); 得到结果是60.5
提示:如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。

  • isNaN(x)函数
  1. isNaN(x); //用于检查其参数是否是非数字值。
  2. //如果 x 是特殊的非数字值 NaN(或者能被转换为这样的值),返回的值就是 true;
  3. //如果 x 是其他值,则返回 false。
  • eval函数  
  1. eval(string); //可计算某个字符串,并执行其中的的 JavaScript 代码。

说明:该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。

1.对象如何声明

2.对象的使用步骤

3.对象的遍历

 

--对象的概念

    JS的对象是所有相关数据、方法的集合,它没有封装,继承和多态的概念。

    里面包含了:属性,方法。

 

 

对象如何声明

    有三种方式声明对象。

--方式1:使用自己的空方法,直接声明对象(及实例)。例如:

  1. function play() //1.自己声明一个空方法
  2. {}
  3. var p = new play(); //2.用空方法创建对象
  4. p.width = 300; //3.给对象增加属性
  5. p.height = 200;
  6. p.autoplay = function () //4.给对象增加方法
  7. {}

 

--方式1改进版:使用系统提供的空方法object(),直接声明对象(及实例) 。例如:

  1. var p = new Object(); //1.用系统的空方法object(),创建对象
  2. p.width = 300; //2.给对象增加属性
  3. p.height = 200;
  4. p.autoplay = function () //3.给对象增加方法
  5. {}

 

--方式2:使用函数,直接声明对象(及实例)

    使用函数创建对象,就是用一个函数把所有对象声明语句包含起来,例如:

  1. function play() { //1.用函数包围声明语句
  2. var p = new Object(); //2.用系统的空方法object(),创建对象
  3. p.width = 300; //3.给对象增加属性
  4. p.height = 200;
  5. p.autoplay = function () //4.给对象增加方法
  6. {}
  7. return p; //5.返回声明的对象
  8. }

     使用的时候,就可以用:

    var c = play();

    此后,其实还可以往对象里面加属性或方法,例如c.time = 100;

 

--方式3:使用函数,声明对象(不包含实例)

    例如:

  1. function play(width,height,demo) { //1.用函数包围声明语句,参数可以用来初始化对象实例
  2. this.width = width; //2.用参数给对象属性赋值,对象属性都用this前缀
  3. this.height = 200;
  4. this.autoplay(){ //3.方法的前缀也用this
  5. }
  6. this.demo = demo; //4.甚至可以用回调函数
  7. }

     这种方式声明对象时并未创建实例,需要创建实例后再使用。例如:

  1. var p = new play(200,300,abc); //abc是一个函数的函数名

    创建了对象play的实例,p,它的width=200,height=300,demo被赋值为函数abc();

 

--方式4:JSON方式(JS快速声明方式)

var 实例名 = {属性1:值1, 属性2:值2, 属性3:值3...}

例如:

  1. var p = {name:"zhangsan",age:18,sex:"nan"}; //声明了一个对象实例p
  2. //里面有3个属性:name,age,sex

这种方式多用在从php后台返回数据给js时,传多个数据。

 

对象的使用步骤

--对象的使用过程

  • 找到对象(查手册,找到自己需要的对象)
  • 实例化对象(使用new 对象名)
  • 操作对象

     使用实例用:

  1. 实例名.属性 ;
  2. 或 实例名["属性名"]; //注意,这里是属性名是字符串

     使用方法用:

  1. 实例名.方法名;

说明:由于JS没有封装的概念,所以实例的属性都是可以赋值和读取的。

 

--对象方法中访问对象的属性

  • 方法中可以使用对象名.属性名,操作对象属性。例如
  1. p.autoplay = function() {
  2. alert(p.width); //使用对象名.属性名访问
  3. }
  • 使用关键字this
  1. p.autoplay = function() {
  2. alert(this.width); //使用关键字this.属性名访问
  3. }

对象的使用步骤

--对象的使用过程

  • 找到对象(查手册,找到自己需要的对象)
  • 实例化对象(使用new 对象名)
  • 操作对象

     使用实例用:

  1. 实例名.属性 ;
  2. 或 实例名["属性名"]; //注意,这里是属性名是字符串

     使用方法用:

  1. 实例名.方法名;

说明:由于JS没有封装的概念,所以实例的属性都是可以赋值和读取的。

 

--对象方法中访问对象的属性

  • 方法中可以使用对象名.属性名,操作对象属性。例如
  1. p.autoplay = function() {
  2. alert(p.width); //使用对象名.属性名访问
  3. }
  • 使用关键字this
  1. p.autoplay = function() {
  2. alert(this.width); //使用关键字this.属性名访问
  3. }

 

 

对象的遍历

--遍历对象的方法

    使用for(变量名 in 实例名){ 遍历内容 } ,在循环中变量名可以获得对象的所有属性名(值是字符串的形式)。

    在遍历内容中,不能使用"实例名.变量名"来访问所有属性,因为在JS中不能区分对象后面是变量还是属性。(在PHP中可以,因为在PHP中的变量名前面加$,所以解析器就可以区分到底是变量还是属性---加$的是变量,不加$的是属性)  

    因为可以使用实例名["属性名"]的方式访问对象属性,所以遍历是可以使用 实例名[变量名] 访问对象属性。

    例如:

  1. var p = new play(3000,200,abc);
  2. var pro = "";
  3. for(pro in p) {
  4. alert(p[pro]);
  5. }

 

对象成员的快速访问

     使用with(实例名) {对象的使用}。

     在对象的使用中可以省略对象名。

     例如:

     正常情况下,调用document的方法write,需要用

  1. document.write("<table>");
  2. document.write("</table>");

     使用with后,简化为:

  1. with(document) {
  2. write("<table>");
  3. write("</table>");
  4. }

正则表达式对象

    本对象包含正则表达式模式以及表明如何应用模式的标志。

语法 1

    re = /pattern/[flags]

语法 2

    re = new  RegExp("pattern",["flags"])

参数

re

    必选项。将要赋值为正则表达式模式的变量名。

Pattern

    必选项。要使用的正则表达式模式。如果使用语法 1,用 "/" 字符分隔模式。如果用语法 2,用引号将模式引起来。

flags

    可选项。如果使用语法 2 要用引号将 flag 引起来。标志可以组合使用,可用的有:

  • g (全文查找出现的所有 pattern
  • i (忽略大小写)
  • m (多行查找)

说明

    不要将正则表达式对象跟全局 RegExp对象混淆。尽管听起来像是一回事,但它们是截然不同的。正则表达式对象的属性只包含一个正则表达式的信息,而全局  RegExp 对象的属性包含了不断更新的每一个匹配出现的信息。

    正则表达式对象保存用于查找字符串中的字符组合时的模式。创建正则表达式对象后,或者它被传递给字符串方法,或者字符串被传递给一个正则表达式方法。有关最近进行查找的信息被保存在全局  RegExp 对象中。

示例:

  1. function MatchDemo(){
  2. var r, re; // 声明变量。
  3. var s = "The rain in Spain falls mainly in the plain";
  4. re = new RegExp("Spain","i"); // 创建正则表达式对象。
  5. r = s.match(re); // 在字符串 s 中查找匹配。
  6. return(r); // 返回匹配结果。
  7. }

 

 

转载于:https://www.cnblogs.com/xiao-wei-wei/archive/2012/08/20/2647599.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值