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>
- JavaScript高级程序设计学习笔记1: 基础
- JavaScript高级程序设计学习笔记(1)
- JavaScript高级程序设计学习笔记(1-4)
- javaScript高级程序设计学习笔记(1)
- JavaScript高级程序设计-学习笔记1
- javascript高级程序设计学习笔记
- JavaScript高级程序设计 学习笔记
- javascript高级程序设计学习笔记
- JavaScript高级程序设计--学习笔记
- JavaScript高级程序设计学习笔记
- 《JavaScript高级程序设计》学习笔记
- 《JavaScript高级程序设计》学习笔记
- JavaScript高级程序设计学习笔记5: DOM基础
- 笔记:JavaScript高级程序设计(1)
- javascript高级程序设计笔记-1
- javascript高级程序设计学习(一)-----js基础
- 《JavaScript高级程序设计》学习笔记(对象1)
- JavaScript高级程序设计(第三版)学习笔记(1)
- VS2005 重置所有设置
- 细说 #pragma pack(n)
- Oracle union intersect minus 复习
- 转发和重定向的区别
- WINVNC(二)omni_thread
- JavaScript高级程序设计学习笔记1: 基础
- 总算结束了--TCC
- IT人士群聚喝酒的讲究
- Dom4j修改文件
- [转]Linux下的(主要是Ubuntu)快捷键
- Linux安装Mysql+Apach+PHP+phpMyAdmin
- iisschlp.wsc [88,25] 属性值无效 : progid
- 我的七个建议
- J2ME学习笔记--关于多线程,集合,lang,util的思考