+运算符可以进行加法运算或字符串连接。如果你想要的是加法运算,请确保两个表达式的值都是数字。
typeof好多人认为typeof是一个函数,其实它是一个操作符,调用方法是typeof hello, 当然函数式的调用方法也可以: typeof(hello),这里还是推荐操作符式的调用方式。
typeof运算符用来判断变量的类型,它的返回值有"number", "string", "boolean", "undefined", "function"和"object"。如果运算数为一个数组或null,那么结果是"object",这就不准确了。
typeof是唯一一个可以对未定义变量进行操作的操作符,其它任何时候都不可以对未定义变量进行操作。
!!!!不能算一个操作符,而是两个!的连续操作,它主要用于将给定的操作数转换成布尔类型,这样就可以方便的用于条件判断,比如var a = {}, !!a的值为true,所以if (!!a)的条件为真。
&&&&的工作原理是运算符两边的表达式都为真时返回真,否则返回假。其实在JavaScript里如果第一个表达式的值为假则返回第一个表达式的值,否则则返回第二个表达式的值。例如:0 && 2的值为0,不是false,'' && 2的值为'',2 && {}的值为{},而不是false。
||||的工作原理是如果第一个表达式的值为真则返回第一个表达式的值,否则返回第二个表达式的值。例如:2 || 0的值为2,[] || 2的值为[],0 || 2的值为0。
这个特性最常用的场合是给变量赋默认值。例如: a = a || {};这是创建空对象的常用写法,如果a已经存在,则自已赋值给自己,否则将空对象{}赋值经变量a。其它用法有a = b || 3;等同于if (b) { a = 3;}
deletedelete 运算符删除对以前定义的对象属性或方法的引用。例如:var o = {a: 1}, delete o.a;属性a被删除。delete运算符还可以用于删除数组元素,例如: a = [1, 2, 3], delete a[1];现在a的值为[1, undefined, 2],它只是把对应的元素变成undefined,数组长度不变。注意:delete不能删除系统自带的原始属性。
voidvoid 运算符对任何值返回 undefined。该运算符通常用于避免输出不应该输出的值,例如,从 HTML 的 <a> 元素调用 JavaScript 函数时。要正确做到这一点,函数不能返回有效值,否则浏览器将清空页面,只显示函数的结果。
====用于赋值,==用于判断两边的表达式的值是否相等,===则同时判断两边的表达式的值和类型同时相等,因为JavaScript是弱类型语言,变量声明时是不知道类型的,建议永远使用===来判断表达式的值是否相等。
newnew运算符用于使用构造函数创造对象。比如:new Book(),或者new Book,后面的括号不是必需的。具体可以参考 JavaScript构造函数原理。
函数调用运算符()函数名字 + ()表示执行该函数。例如 var hello = function() {}, hello()则执行hello函数。
参考文献- <<JavaScript语言精粹>>
如需转载,请注明来自: BorisHuai前端修炼 > JavaScript运算符总结
+运算符可以进行加法运算或字符串连接。如果你想要的是加法运算,请确保两个表达式的值都是数字。
typeof好多人认为typeof是一个函数,其实它是一个操作符,调用方法是typeof hello, 当然函数式的调用方法也可以: typeof(hello),这里还是推荐操作符式的调用方式。
typeof运算符用来判断变量的类型,它的返回值有"number", "string", "boolean", "undefined", "function"和"object"。如果运算数为一个数组或null,那么结果是"object",这就不准确了。
typeof是唯一一个可以对未定义变量进行操作的操作符,其它任何时候都不可以对未定义变量进行操作。
!!!!不能算一个操作符,而是两个!的连续操作,它主要用于将给定的操作数转换成布尔类型,这样就可以方便的用于条件判断,比如var a = {}, !!a的值为true,所以if (!!a)的条件为真。
&&&&的工作原理是运算符两边的表达式都为真时返回真,否则返回假。其实在JavaScript里如果第一个表达式的值为假则返回第一个表达式的值,否则则返回第二个表达式的值。例如:0 && 2的值为0,不是false,'' && 2的值为'',2 && {}的值为{},而不是false。
||||的工作原理是如果第一个表达式的值为真则返回第一个表达式的值,否则返回第二个表达式的值。例如:2 || 0的值为2,[] || 2的值为[],0 || 2的值为0。
这个特性最常用的场合是给变量赋默认值。例如: a = a || {};这是创建空对象的常用写法,如果a已经存在,则自已赋值给自己,否则将空对象{}赋值经变量a。其它用法有a = b || 3;等同于if (b) { a = 3;}
deletedelete 运算符删除对以前定义的对象属性或方法的引用。例如:var o = {a: 1}, delete o.a;属性a被删除。delete运算符还可以用于删除数组元素,例如: a = [1, 2, 3], delete a[1];现在a的值为[1, undefined, 2],它只是把对应的元素变成undefined,数组长度不变。注意:delete不能删除系统自带的原始属性。
voidvoid 运算符对任何值返回 undefined。该运算符通常用于避免输出不应该输出的值,例如,从 HTML 的 <a> 元素调用 JavaScript 函数时。要正确做到这一点,函数不能返回有效值,否则浏览器将清空页面,只显示函数的结果。
====用于赋值,==用于判断两边的表达式的值是否相等,===则同时判断两边的表达式的值和类型同时相等,因为JavaScript是弱类型语言,变量声明时是不知道类型的,建议永远使用===来判断表达式的值是否相等。
newnew运算符用于使用构造函数创造对象。比如:new Book(),或者new Book,后面的括号不是必需的。具体可以参考 JavaScript构造函数原理。
函数调用运算符()函数名字 + ()表示执行该函数。例如 var hello = function() {}, hello()则执行hello函数。
参考文献- <<JavaScript语言精粹>>
如需转载,请注明来自: BorisHuai前端修炼 > JavaScript运算符总结
<!doctype html> <html lang="us"> <head> <meta charset="utf-8"> <title>jQuery UI-Test</title> <link href=/blog_article/"jqueryui/css/jquery-ui-1.10.1.custom.css" rel="stylesheet"> <script src=/blog_article/"jqueryui/jquery-1.9.1.js"></script>/index.html <script src=/blog_article/"jqueryui/jquery-ui-1.10.1.custom.js"></script>/index.html <script> $(function(){ var availableTags = [ "ActionScript", "AppleScript", "Asp", "BASIC", "C", "C++", "Clojure", "COBOL", "ColdFusion", "Erlang", "Fortran", "Groovy", "Haskell", "Java", "JavaScript", "Lisp", "Perl", "PHP", "Python", "Ruby", "Scala", "Scheme" ]; $( "#autocomplete" ).autocomplete({ source: availableTags }); $( "#datepicker" ).datepicker({ altField: "#actualDate", dateFormat: "yy-mm-dd" }); $( "#tabs" ).tabs({ event:"mouseover" }); }) </script> </head> <body> <input type="text" id="autocomplete" name="tt" /><br/> <p>Date: <input type="text" id="datepicker" /></p> <div id="tabs"> <ul> <li><a href=/blog_article/"/index.html tincidunt</a></li> <li><a href=/blog_article/"/index.html dolor</a></li> <li><a href=/blog_article/"/index.html lacinia</a></li> </ul> <div id="tabs-1"> <p>Proin elit arcu, rutrum commodo elementum quam ullamco Mauris </p> </div> <div id="tabs-2"> <p>Morbi tincidunt, dui sit amet facilisis feugiat</p> </div> <div id="tabs-3"> <p>Mauris eleifend est et turpis. Duis id eratt</p> </div> </div> </body> </html>