JavaScript高级程序设计学习笔记1: 基础

来源:互联网 发布:发膜一周用几次知乎 编辑:程序博客网 时间:2024/05/16 14:39

JavaScript高级程序设计学习笔记1: 基础

一、语法:

1、区分大小写。

2、变量是弱类型。

3、每行结尾的分号可有可无。
   如果没有分号,以这行代码的结尾看作该语句的结尾。


二、变量

1、同一个var语句可以定义多个变量,而且不必具有相同的类型。
   如:
      var test = "hi", age = 25;

2、变量名需要遵守两条简单的规则:
   (1)第一个字符发布是字母、下划线(_)或美元符号($)。
   (2)余下的字符可以是下划线、美元符号或任何字母或数字字符。

3、使用变量之前不必声明,解释程序遇到未声明过的标识符时,用该变量名创建一个全局变量,并将其

初始化为指定的值。
   如:
      var sTest = "hello ";
      sTest2 = sTest + "world";
      alert(sTest2); //输出 "hello world"

三、原始类型

5种原始类型:Undefined、Null、Boolean、Number、String
可以用 typeof 运算符检查变量或值的类型,其中对于引用类型或null值会返回“object”:
    如:
      var sTemp = "test";
      var sTemp2;          //输出 "string" 
      var oNull = null;    //输出 "string"
      alert(typeof sTemp); //输出 "string"
      alert(typeof 9);     //输出 "number"
      alert(typeof sTemp2); //输出 "undefined"
      alert(typeof oNull);  //输出 "object"


四、转换

1、Number类型转换成字符串

   有两种模式:默认模式和基模式,基模式可以用不同的基输出数字,例如二进制的基是2,八进制的基

是8,十六进制的基是16。
   var iNum = 10;
   alert(iNum.toString());     //输出 "10"
   alert(iNum.toString(2));    //输出 "1010"
   alert(iNum.toString(8));    //输出 "12"
   alert(iNum.toString(10));    //输出 "10"
   alert(iNum.toString(16));  //输出 "A"

2、非数字的原始值转换成数字

parseInt() 转换成整数
parseFloat()  转换成浮点数

parseInt()方法首先查看位置0处的字符,判断它是否是个有效数字;如果不是,该方法将返回NaN,不再

进行继续执行其他操作。但如果该字符是有效数字,该方法将查看位置1处的字符,进行同样的测试,这

一过程将持续到发现非有效数字的字符为止,此时parseInt()将把该字符之前的字符串转换成数字。如
var iNum1 = parseInt("1234blue); //return "1234"
var iNum2 = parseInt("0xA"); //return "10"
var iNum3 = parseInt("22.5"); //return "22"
var iNum4 = parseInt("blue"); //return "NaN"


3、强制类型转换
(1)Boolean(value)
如果要转换的值是至少有一个字符的字符串、非0数字或对象时,Boolean()函数将返回true。
如果该值是空字符串、数字0、undefined或null,它将返回false。

var b1 = Boolean("");            //false
var b2 = Boolean("hi");          //true
var b3 = Boolean(100);           //true
var b4 = Boolean(null);          //false
var b5 = Boolean(0);             //false
var b6 = Boolean(new Object());  //true

(2)Number(value)
Number()的强制类型转换与parseInt()和parseFloat()的处理方式相似,不同的是它转换的是整个值,而

不是部分值。
Number(false)             //0
Number(true)              //1
Number(undefined)         //NaN
Number(null)              //0
Number("5.5")             //5.5
Number("56")              //56
Number("5.6.7")           //NaN
Number("new Object()")    //NaN
Number("100")             //100

(3)String(value)
可把任何值转换成字符串,和toString()的区别是转换null或undefined可以生成字符串而不引发错误。
var s1 = String(null);   //null
var oNull = null;
var s2 = oNull.toString() ; //引发错误



五、其它

unicode编码和解码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>unicode编码和解码 2010-01-29 by gdjlc</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">  
function Encode(){   
    var txtIn = $("txtInput").value;   
    var sResult = "";
    for(var i=0;i<txtIn.length;i++){
        sResult += txtIn.charCodeAt(i) + ",";
    }
    if(sResult.substring(sResult.length-1,sResult.length) == ",")
        sResult = sResult.substring(0,sResult.length-1);
    $("txtResult").value = sResult;
}
function Decode(){
    var arrTmp = $("txtInput").value.split(',');
    var sResult = "";
    for(var j=0;j<arrTmp.length;j++){
        sResult += String.fromCharCode(arrTmp[j]);
    }  
    $("txtResult").value = sResult;
}
function $(str){return document.getElementById(str);}
</script>
</head>
<body>

输入字符串: <textarea cols="50" rows="4" id="txtInput">测试字符串</textarea>
<input type="button" onclick="Encode()" value="编码"/>
<input type="button" onclick="Decode()" value="解码"/>
<br />
结果: <textarea cols="50" rows="4" id="txtResult"></textarea>
</body>
</html>

原创粉丝点击