javascript 高级编程(注意的几点问题)

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){

 

}

==============================================================================================================================

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值