javascript高级程序设计---第二、三章

时间:2022-03-21 22:01:12

在HTML中引用javaScript

  javascript的几个属性  type async(异步加载 只适用于外部JS且IE8以上 HTML5规范 先于load执行) src defer(延迟加载 只适用于外部加载 先于load执行)

  在HTML中使用外部JS代码的优点,1、便于维护 ,2、可缓存。3、适应未来。

在javascript中区分变量的大小写 比如(test 和 Text是☞的两个变量)

在ECMA5中新模式,严格模式  'use strict'在js代码中加入这句话即为严格模式   在严格模式中改变了在ECMA3中的一些不确定语法  严格模式在IE10以上被支持

在严格模式下给未经申明的变量赋值会报错;

在严格模式下不能定义 eval 和 arguments的变量名

typeof操作符对未申明的变量返回undefined

例如:   var  a  //未初始化的变量a

    alert(typeof a) //undefined

    alert(typeof b) // undefined 未声明的变量使用typeof也会弹出undefined

八进制数在严格模式下是无效的

十六进制数必须以 0x开头

tostring()函数,在里面可以传递基数

比如  var num = 10

alert(num.tostring(2)); 返回一个二进制数

alert(num.tostring(8));返回一个八进制数

alert(num.tostring(10));返回一个十进制数

alert(num.tostring(16));返回一个十六进制数

语句:

if语句

do while语句

for 语句

for in语句

label语句

label语句可以用来添加标签,当for语句嵌套的比较多的时候使用label有助于帮助返回准确的位置

label语法

label:statements

  

如: begin: for (var i = 0; i < 10 ; i++ ){
                         alert(i);
                   }
 
使用label和不使用label的区别
 
var num = 0
for(var i=0;i<10;i++){
  for(var j=0;j<10;j++){
    if(i==5&&j==5){
      break 
    }
    num++
  }
}
alert(num) //95(没有使用label的情况)
 
var num = 0;
query:for(var i=0;i<10;i++){
  for(var j=0;j<10;j++){
    if(i==5&&j==5){
      break query
    }
  num++
  }
}
alert(num)//55(使用label的情况)

with(),不建议使用,回影响性能,不便于试调。在严格模式下会报错

switch()语句

函数

在严格模式下 函数的名字和参数不能为eval和arguments并且不能出现两个名字相同和参数相同的函数,否则会报错,函数不能被执行