本文系统讲解JavaScript基本语法,涵盖七类运算符(重点区分==与===)、表达式分类、控制语句及函数定义。深入解析对象属性操作、事件监听机制(addEventListener与传统绑定)及变量类型系统,帮助开发者掌握JS核心编程基础。
JavaScript运算符详解
1、运算符
运算符是执行特定操作的一系列符号,JavaScript中主要包含七大类。
这七类包括:赋值运算符(如=、+=、-=、*=、/=、%=、<<=、>>=、|=、&=)、算术运算符(+、-、*、/、++、--、%)、比较运算符(>、<、<=、>=、==、===、!=、!==)、逻辑运算符(||、&&、!)、条件运算符(? :)、位移运算符(|、&、<<、>>、~、^)以及字符串运算符(+)。
许多开发者可能对“===”运算符感到陌生。
这里需要明确,“==”在JavaScript中被称为等同运算符。
等同运算符的比较规则如下:
当两个操作数的类型不同时,JavaScript会尝试将它们转换为相同的类型后再进行比较。
具体转换规则包括:1) 若一方为数字,另一方为字符串,则将字符串转换为数字后比较;2) true转换为1,false转换为0后进行比较;3) 若一方为对象、数组或函数,另一方为数字或字符串,则先调用valueOf()方法,若失败则调用toString()方法转换为原始值后再比较;4) 其他类型的组合无法相等。
当两个操作数类型相同,或转换后类型相同时:
比较规则为:1) 两个字符串,若对应位置字符完全相同,则两字符串相等;2) 两个数字,数值相同即相等;若任一为NaN或两者均为NaN,则不相等;3) 两个布尔值,同为true或同为false时相等;4) 引用类型(对象、函数、数组),仅当引用同一内存地址时才相等,即使内容转换后相同也不相等;5) 两个null或两个undefined相互相等。
“===”被称为全同运算符(严格相等运算符)。它遵循等同运算符的比较逻辑,但关键区别在于不进行类型转换。若两个操作数类型不同,直接返回false;只有当类型相同时,才按照等同运算符的规则进行比较。
例如:null == undefined 返回 true,但 null === undefined 返回 false。
表达式与语句分类
2、表达式
由运算符和操作数组合而成的结构称为表达式,通常分为四类:赋值表达式、算术表达式、布尔表达式和字符串表达式。
3、语句
JavaScript程序由若干语句构成,语句是执行具体指令的基本单元。JavaScript提供了完整的基础编程语句集,包括:赋值语句、switch选择语句、while循环语句、for循环语句、for each循环语句、do while循环语句、break循环中止语句、continue循环中断语句、with语句、try...catch语句、if语句(含if..else、if...else if ...)以及let语句。
函数定义与使用规范
4、函数
函数是一段命名的代码块,可作为整体进行引用和执行。使用函数时需注意以下要点:
1)函数通过关键字function定义(也可通过Function构造函数创建)。2)使用function关键字定义的函数具有提升特性,在同一作用域内任意位置均可调用(包括定义语句之前);而通过var关键字定义的函数表达式必须在定义之后才能调用。3)函数名用于调用时引用,区分大小写,调用时不可拼写错误。4)参数是传递给函数处理或操作的值,可以是常量、变量或函数。在函数内部,可通过arguments对象(伪数组,其callee属性引用被调用的函数)访问所有传入的参数。5)return语句用于返回表达式的值。6)yield语句用于抛出一个表达式,并暂停函数执行,直到下次调用next()方法。
一般函数的定义格式如下:
代码如下:
function myFunction(params){
//执行的语句
}
函数表达式:
代码如下:
var myFunction=function(params){
//执行的语句
}
代码如下:
var myFunction = function(){
//执行的语句
}
代码如下:
myFunction();//调用函数
匿名函数常作为参数在其他函数间传递:
代码如下:
window.addEventListener('load',function(){
//执行的语句
},false);
对象、事件与变量系统
5、对象
JavaScript的重要特性之一是面向对象编程。通过基于对象的程序设计,可以实现更直观、模块化且可重复使用的开发方式。
对象由包含数据的属性和操作这些属性的方法组成。例如,若要设定网页背景颜色,目标对象为document,属性名为bgcolor,如document.bgcolor="blue"表示将背景颜色设为蓝色。
6、事件
用户与网页交互时产生的操作称为事件。事件可由用户引发,也可能由页面状态改变触发,甚至包括不可见的事件(如Ajax交互进度变化)。绝大多数事件由用户动作引发,例如点击鼠标产生click事件,鼠标指针在链接上移动产生mouseover事件等。在JavaScript中,事件通常与事件处理程序配合使用。
对于事件处理,W3C推荐的方法是使用addEventListener()函数,该函数接收三个参数:事件类型、触发函数以及是否使用事件捕捉。出于安全性考虑,建议将第三个参数始终设置为false。
传统方法是通过定义元素的on...事件属性,这相当于在W3C方法的事件参数前加上“on”。IE的事件模型则使用attachEvent和detachEvent进行事件绑定和解绑。JavaScript中的事件分为捕获和冒泡两个阶段,但传统绑定方式仅支持冒泡事件。
7、变量
例如 var myVariable = "some value";
变量具有类型,上述例子中myVariable的类型为string(字符串)。
JavaScript支持的其他常用类型包括:
object:对象 array:数组 number:数字 boolean:布尔值,仅包含true和false两个值,是所有类型中占用内存最少的 null:空值,唯一值为null undefined:未定义或未赋值的变量
实际上,JavaScript的变量是弱类型的。你赋予它字符串,它就是String类型;赋予数字,它就是Number类型;赋予true或false,它就是Boolean类型(注意不能加引号,否则会被视为字符串处理)。
以上就是JavaScript基本语法的全部内容,希望能为大家提供参考,也希望大家多多支持本站。