跟我学JavaScript 二 基本概念2
任何语言的核心都必然会描述这门语言最基本的规范。
- 语法 JavaScript的语法大量借鉴了C及其他类C语言(如Java,Perl)的语法。
- 区分大小写,变量Test和test是表示两个不同的变量
- 变量名、函数名、属性或者函数的参数第一个字符必须是字母下划线或一个美元符号$,其他字符同样要求
- 注册 单行注释// 多行注释 (/*) 开头 (*/)结尾
- 不要在同一个行声明多个变量
- 请使用===/!==来比较true/false或者数值
- 使用对象字面变量替代new Array这种形式
- 不要使用全局函数
- Switch语句必须带有default分支
- 函数不应该有时候有返回值
- For循环必须使用大括号
- For-in 循环变量 应该使用var关键字明确限定作用域,从而避免作用域污染
--------------------------------------------------分割线 直接跳过-------------------------------------------------
- for-in语句
for(var propName in window){ console.log(propName); }
每次执行一直持续到对象中的所有属性都被枚举一遍位置。输出的先后顺因浏览器而异。但是如果表示要迭代的对象的变量值为null或undefined,for-in与具就会抛出异常。所以在使用之前,先检查改对象是不是null或undefined。
- 函数对任何语言来说都是一个核心的概念。基本语法如下:
function functionName(argv0,argv1,argv2,...,argvN){ "use strict" }
严格模式下函数名和参数名不可以是eval和arguments,不可以出现两个命名相同的参数。
- 理解参数JavaScript函数的参数与大多数其他语言中的参数有所不同,JavaScript的函数不介意传递进来多少个参数,也不在乎传进来的是什么类型。也就是说你定义函数只接收两个参数只是为了方便理解函数的功能。函数体内可以通过arguments对象来访问这些参数,arguments用法与数组类似但其并不是数组,即第一个元素用arguments[0]...以此类推。如下
function sayF(){ console.log(arguments.length); console.log(arguments[0]+","+arguments[1]+","+arguments[2]) } sayF("argv1",1,function(){console.log("我是一个函数")})
没有传递值得的命名参数被赋予undefined值。与定义参数但又没有初始化的意义一样。
- JavaScript没有重载
function add(num){ return num+100; } function add(num1,num2){ return num1+200; } console.log(add(100)); 输出结果:300
由于不存在函数签名的特性,所以JavaScript函数不能重载。虽然没有重载但是可以模拟重载,可以通过arguments对象和typeof判断参数模拟出重载。
Java JavaScript ECMAScript 小严

浙公网安备 33010602011771号