javascript 高级编程(注意的几点问题)
2013-02-06 15:15
676 查看
1、js变量
因为js是弱类型的,所以 var语句可以定义两个或多个变量。而且定义的两个变量不必是相同的类型。例如:var test ="h1", test2 ="h2"
var test = "h1", age = 34
同样,因为js是弱类型的,同一个变量又可以存放不同类型的值,如:
var test="h1"'
alert(test);
//重新赋值
test = 55
alert(test);
注意:这段代码毫无问题地输出字符串值和数字值。但是,如前所述,使用变量时,好的编码习惯是始终存放相同类型的值。
=============================================================================================================================
2、变量的命名规则:
字母、下划线,$==============================================================================================================================
3、在ECMAScript中,变量可以存放两种类型的值,原始值和引用值。
原始值(primitive value):是存储在栈中的简单数据段,也就是说他们的值直接存在变量访问的位置。引用值(referrence value):是存储在堆(heap)中的对象,也就是说,存储在变量处的值是一个指针,指向存储对象的内存处。
原始类型:
Null、Boolean、Number、String
typeof 运算符
对变量或值调用typeof运算符将返回下列值之一:
“undefined”,如果变量是defined类型(指变量没有初始化赋值)
“boolean”,如果变量是Boolean类型
“number”,如果变量是Number类型
“string”,如果变量是String类型
“boject”,如果变量是引用类型或Null类型
==============================================================================================================================
4、类型转换:
1> toString()转换成String型关于Number->String 有两种默认模式和基模式
默认模式:
输出“10”
基模式:
var iNum = 10;
alert(iNum.toString(2)); // outputs "1010" 二进制
alert(iNum.toString(8)); // outputs "12" 八进制
alert(iNum.toString(16)); // outputs "A" 十六进制
2> 转换成数字
只有对String类型调用这些方法,它们才能正确运行,否吃就输出NaN。
1-1 parseInt() 转成int型
parseFloat() 转成浮点型
如果String类型中包含有效数字和其他字符,系统会从第一个开始,遇到无效的字符就会停止。
如:
String str = "123blue"
parseInt(str) --> outputs:123
1-2
parseInt()还有基模式:
var iNum = parseInt("AF",16) // return 175
2-1
parseFloat()与parseInt()方法基本一致
不同之处在于:字符串必须以十进制形式表示浮点数,而不能以八进制或是十六进制,而且该方法会忽略前导0,所以八进制数0908-->908
var iNum = parseFloat("1234blue") // return 1234.0
var iNum = parseFloat("0xA") // return NaN
var iNum = parseFloat("0908") // return 908
parseFloat()也有基模式
3>强制类型转换:
Boolean(value) -----把给定的值转成boolean类型
Number(value) -----把给定的值转成数字(可以是整数或浮点数)类型
String(value) --------把给定的值转换成字符串
3-1
Boolean(value) 如果value是0,null,undefined,它将返回false,否则返回true
3-2
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-3
var s1 = String(null) // "null"
var oNull = null;
var s2 = oNull.toString();// error
==============================================================================================================================
5、引用类型:
1>Object类2>Boolean 类
3>Number类
toString()
toFixed()方法返回的是具有指定小数位数的字符串表示
var oNumberObject = new Number(99);
alert(oNumberObject.toFixed(2)); // return "99.00"
toFixed()方法能表示具有0-20位小数的数字,超出这个范围的值会引发错误
截取字符串生成一个新的字符串:
这两方法返回的都是要处理的字符串的子串,都接受一个或两个参数。(起始位置,终止位置<存在第二个参数,是要取终止位置前面的字符串,终止位置处的字符不包括在返回的值内>)。如果省略第二个参数,终止位就默认为字符串的长度。
如果参数是负数,slice()该参数= string 长度+参数 substring 参数=0
slice()
substring()
==============================================================================================================================
6、运算符
1> for-in语句:是严格的迭代语句,用于枚举对象的属性。
for(property in expression) statement
例如:
for(sProp in window){
alert(sProp);
}
这里,for-in语句用于显示BOM window对象的所有属性。
2>有标签的语句:
label:statement
例如:
start:var iCount = 10;
在这个例子中,标签start可被后来的 break语句和continue语句引用。
2>break语句和continue语句
javascript 高级程序设计 (P82)
3>with语句:
with语句踊跃设置代码在特定对象中的作用域。语法:
with(expression) statement;
例如:
var sMessage = "hello world";
with(sMessage){
alert(toUpperCase()); // outputs "HELLO WORLD"
4>switch语句:
switch语句可以用于字符串,而且能用不是常量的值说明情况
var BLUE =“blue” , RED="red", GREEN="green"
switch(sColor){
}
==============================================================================================================================
相关文章推荐
- 关于OPC自动化接口编程(OPCDAAuto.dll)几点注意问题
- niagara编程中需要注意的几点问题
- 关于OPC自动化接口编程(OPCDAAuto.dll)几点注意问题
- -高级Javascript编程学习笔记----Javascript编程及架构设计最应该注意的基本点
- 关于OPC自动化接口编程(OPCDAAuto.dll)几点注意问题
- oracle高级复制需要注意的几点问题
- 关于OPC自动化接口编程(OPCDAAuto.dll)几点注意问题
- [Flex]Flex编程注意之ViewStack高度异常问题
- 为了web应用程序的性能,编程时应注意几点
- 提供ASP.NET Web 站点高级编程——提出问题-设计方案-解决方案 源码下载!
- JavaScript原型重写的问题注意
- Java调用RXTX库与Arduino进行串口通讯需注意的编程问题
- Qt 多线程与数据库操作需要注意的几点问题
- 应当避免的JavaScript编程问题
- Java并发编程的艺术(一)——并发编程需要注意的问题
- javascript高级编程
- 【flask】flask-bootstrap 与 bootstrap 几点注意的问题
- JavaScript Tip/Trick: 动态创建Table时,在IE中需要注意的一个问题
- javascript 高级编程1.0
- JavaScript高级编程小结