您的位置:首页 > Web前端 > JavaScript

javascript 基础语法

2008-02-04 00:07 525 查看
/*
  (“高级程序设计”读书笔记)
  javascript基础语法
  author:shine
*/

一、语法:
ECMAScript的基本概念如下:
1.区分大小写。
2.变量是弱类型(var):所谓弱类型是指弱类型变量可以被赋予任何类型的值。
如:var color = "red";
        var color = 25;
3.每行结尾的分号可有可无。(最好有)
4.注释
  单行注释  //
  多行注释  /**/
5.花括号代表代码块

二、变量
1.var是variable 的缩写。
2.可以用一个var定义多个变量。
如:var test = 25,name="姚光耀";
3.变量不一定要初始化
  var test;
4.变量的命名规则:
  a.Camel命名(驼峰):首字母是小写,接下来的单词都以大写字母开头。
  如:findOneStudent();
  b.Pascal命名(帕斯卡):首字母大写,接下来的单词都以大写字母开头。
  如:FindAll();
  c.匈牙利命名:(用的很少,只是MS在用)略。
5.ECMAScript在使用变量前可以不用声明。(不写var默认是全局变量)
如:
  var test = "hello";
  var test2 = "world";
  test3 = test + test2;
  alter(test3);

三、值类型:
1.原始值:是存放在栈中的简单数据。
2.引用值:是存放在堆中的对象。(是不是和java很像呢)

四、原始值(ECMAScript中有5种原始类型)
1.Undefined类型:
  只有一个值:undefined
  如果未给变量赋值,则默认为undefined.
  如:var test;
          alert(test == undefined);
2.Null类型
  只有一个值:null
  null表示尚未存在的对象,即:此引用还未指向对象。
3.Boolean类型
  有两个值:true和false
4.Number类型
  可以表示整数,也可以表示浮点数。
   Number中的几个特殊值:
  1)Number.MAX_VALUE和Number.MIN_VALUE:是指Number类型的最大值和最小值。
  2)当数值超过Number.MAX_VALUE时,则被赋为:Number.POSITIVE_INFINITY,它的值为infinity。
  3)当数值小于Number.MIN_VALUE时,则被赋为:Number.NEGATIVE_INFINITY,它的值为-infinity。        

          (常用isFinit()来判断是否该数为无穷大)
  4)NaN 表示非数(Not A Number),用isNaN()来判断是否能转换为数字,如果能则为false,如果不

能则为true。
  如:alert(isNaN("1"));  显示为false,alert(isNaN("abc"));   显示为true
5.String 类型
  因为javascript没有字符类型,所以单引号和双引号都可以用来申明字符串。

五、typeof运算符
  用来测试类型用的。
  如:alter (typeof "shine")  答案是:string
  typeof运算符返回值:
  1)undefined
  2)boolean
  3)number
  4)object  (其中null,也返回的是object,虽然null是原始类型,但它也用作为对象的占位符)
  5)string

六、转换
  原始数据类型中的Boolean,数字,字符串都是伪对象。即:他们都有相应的属性和方法如:String类

型有length属性。
1.转换为字符串
使用toString()方法。
1)Boolean的toString()只能显示"true","false"。
2)Number的toString()有两种模式:
  a.默认模式(不带参数):输出相应的字符串的值(无论是几进制都返回十进制的字符串形式)。
  b.基模式(可以进行数制之间的转换):
  如:var num = 1;  alert(num.toString(2));  alert(num.toString(8));  alert(num.toString(16));

2.转换为数字。
使用parseInt()  和  parseFloat();(只能对数字值的字符串才能使用,其他类型都返回NaN)
其中parseInt()可以有基模式,如:alert(parseInt("AB",16));

3.强制类型转换。
a.Boolean(value) :value 为非零数字和对象时,转换为true;
b.Number(value) :value位将整体转换(parseFlout,parseInt是部分转换)

七、引用类型:
简单理解:就是类。
1.Object类:
拥有属性:
1)constructor :对创建对象函数的引用。(返回的是个函数)如:var num = new String();  alert

(num.constructor);
2)prototype :对该对象的对象原型的引用。(返回的是个对象的实例)(后续文章"javascript对象基

础"中详解)
方法:
1)hasOwnProperty(property) :判断对象是否有该属性。
2)isPrototypeOf(object) : 判断该对象是否为另一个对象的原型。
3)propertyIsEnumerable(property) :判断属性是否可以用 for..in..进行枚举。
4)toString()
5)valueOf() :返回最适合该对象的原始值。
2.Boolean类(很少用):略
(注:所有对象的Boolean值为true)
3.Number类
1)valueOf() :要获得Number类的原始类型。
2)toString() :数制转换(前面已经提到)
3)toFixed() :保留小数(四舍五入)如:varnum = new Number(99.567);  alert(num.toFixed(2));
4.String类
1)charAt():取指定位置上的字符 
2)charCodeAt():返回指定位置上字符的ascii码
3)concat():连接两个字符串(一般用“+”代替)
4)indexOf():返回指定字母的位置。
5)lastIndexOf():(反着来)
6)localeCompare():比较(大于返回1,等于返回0,小于返回-1)
7)subString():取字符串连个参数,分别是:起始位置,结束位置。
8)toUpperCase():转大写。
9)toLowerCase():转小写。

八、instanceof运算符
如:var test = new String("ab");  alert(test instanceof String);

九、特殊运算符
1.delete:删除对以前定义的对象属性或方法的引用。值变为undefined
如:
var o = new Object();
o.job = "shine";
delete o.job;
alert(o.job);
2.void:返回undefined;

十、javascript和java中函数不同点(function):
1.javascript中的函数不必写返回值类型。
2.javascript中不能重载函数,当出现重名时,用后面的。
3.声明函数时,可以不用写参数,javascript不进行参数验证,取而代之的是argument对象。
如:
  function fun() {
    var arr = fun.arguments;
    for(var i = 0; i < arr.length; i ++) {
      alert(arr[i]);
    }
  }
/*
后续文章"javascript对象基础"  2008-02-04
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息