`

js 逗号运算符和括号运算符的使用和闭包的理解

 
阅读更多

 

一 、逗号运算符使用,逗号隔开的表达式各自运算,结果为最后一个表达式结果

二、括号运算符的2个作用: 1)强制表达式运算 2)执行函数 

 

 1 逗号运算符 

 

//逗号运算符,逗号隔开的表达式分别运算,但整个表达式的值是最后一个 
console.log( (1, 2, 3) );   //结果为3
//这个第一个括号的表达式值位alert,连接("执行了alert方法!") 则表示执行alert方法
console.log( (1, 2, 3, alert )("执行了alert方法!")  );  //第一个括号结果为alert 
 
console.log( [1,2,3][1] ); //返回值为2 ,第二个括号变成了索引功能 
console.log( [1,2,3][1,0]);//返回值位1 ,第二个括号用逗号运算符计算为0,然后起索引功能,第一个[]为数组,取数组第0个,最后结果为1 

 

2 括号运算符理解 

  1) json的转换

var json = strToJson(testJson );
alert(json);
function strToJson(str){  
    // eval 中字符串两旁加了      强制运算符()  
    var json = eval('(' + str + ')');   
    console.log(typeof json );
    return json;  
}

  2)闭包的使用 

   

//1 解释括号作用: 下面函数第一个()中为函数变量,第一个小括号的作用是强制表达式运算,第二个小括号作用是执行函数,是把第一个小括号中返回的函数执行,并且传递参数进入函数
//2 闭包函数作用 1)变量的封装,这个例子中的方法在闭包外面是调用不到的 

//deluser();  这种方法无法调用,为了测试闭包内部的访问范围
;(function(w,j){
	console.log( "11111111=="+w +"   ==  "+j );
    function deluser(){
    	console.log( "3333333"+ "   ==  "+jQuery);
    }
})(window, jQuery);


//下面是闭包的两种写法, 个人不知道具体有什么本质区别,有高手可以指点一下多谢
var res1 = (function(){
	 var k;
	 return 1;
})();
console.log("括号在外面的自调用函数1=="+res1 );

var res2 = (function(){
	 return alert; 
}()) 
console.log("括号在外面的自调用函数2=="+res2 );


 

 

分享到:
评论

相关推荐

    JavaScript权威指南(第6版) 英文版

    - **4.13 其他运算符**:讨论如条件运算符、逗号运算符等特殊运算符的使用。 通过以上章节的深入学习,读者可以全面了解JavaScript语言的基础知识和技术要点,为进一步的学习和发展打下坚实的基础。

    java的基础学习PPT

    4. **表达式和运算符**:JavaScript支持算术运算符、比较运算符、逻辑运算符、赋值运算符等,以及三元运算符、逗号运算符等复杂表达式。 5. **基本语句**:包括条件语句(如if...else)、循环语句(如for、while)...

    day02-js基础作业.zip

    每个JS基础作业可能涵盖以上部分或全部知识点,通过实践这些基础作业,学习者将能更好地理解和掌握JavaScript的基础概念,为后续的进阶学习和实际项目开发打下坚实基础。在完成作业时,应注重代码规范、逻辑清晰和...

    JavaScript文件

    JavaScript是一种广泛应用于网页和互联网应用的编程语言,它主要负责为网页添加动态功能,与用户交互,以及处理数据。在JavaScript文件中,...通过学习和实践这些代码,你将能更深入地理解和掌握JavaScript这门语言。

    JavaScript 基础知识

    数组则使用方括号[],元素间用逗号分隔。ES6提供了解构赋值,便于从对象和数组中提取值。 6. 作用域与闭包: 变量的作用域分为全局作用域和局部作用域,而闭包则是函数可以访问其词法作用域内定义的变量,即使该...

    JavaScript 语言基础知识点总结(思维导图)

    JavaScript,作为全球最广泛使用的编程语言之一,是创建动态网页和交互式应用程序的关键工具。它是一种轻量级、解释型的脚本语言,主要应用于Web开发。以下是对JavaScript语言基础的详细总结,涵盖的主要知识点包括...

    JavaScript 解释器,包含词法分析、语法解析和执行。基于 LR 实现 eval.zip

    对于JavaScript,词法单元可能包括标识符(如变量名)、关键字(如`function`)、运算符(如`+`)、常量(如数字或字符串)以及分隔符(如逗号和括号)。词法分析器通常通过正则表达式来识别这些单元,并生成一个...

    JavaScript编码规范

    - 理解闭包的概念,以及如何利用闭包来实现变量的封装和保护。 ##### 3.11 异常 - 对于可能出现错误的情况,应合理地使用try-catch-finally语句进行异常处理。 #### 五、代码检查 - 定期进行代码审查,确保代码...

    javascript 编程规范

    - **闭包**:谨慎使用闭包,确保不会导致内存泄漏。 - **空函数**:当需要占位时,可以使用空函数。 ##### 3.9 面向对象 - **类和继承**:使用 ES6 的类语法来实现面向对象编程。 ##### 3.10 动态特性 - **`eval...

    day02-js基础资料.zip

    对象的属性可以通过点运算符或方括号运算符访问。 6. **数组**:数组是有序的元素集合,可以存储多个值。JS提供了丰富的数组方法,如push、pop、shift、unshift、slice、splice、concat、join等,便于操作和处理...

    The Swift Programming Language中文完整版(CocoaChina精校)副本

    - **函数和闭包**:函数是一段可重复使用的代码,闭包则是一种特殊的函数,它们可以在代码中传递并作为参数使用。 - **对象和类**:Swift中的对象和类是面向对象编程的基础,允许开发者创建自定义的数据类型。 - **...

    离散数学题和答案 本人精心收藏的

    - **集合的概念**:集合是一组不重复元素的无序组合,可以用大括号{}表示,其中的元素用逗号分隔。 - **集合的运算**:包括交集(∩)、并集(∪)、补集(')、差集(−)等,用于处理集合之间的关系和操作。 - **...

    JavaScript的语法

    - 数组:使用方括号`[]`定义,元素通过逗号分隔,如`var arr = [1, 2, 3];`。 - 展开运算符(Spread operator, ...):用于合并数组或对象。 6. 面向对象: - 构造函数:创建对象的模板,如`function Person...

    java版c++词法分析编译器

    状态转换图可以区分各种运算符,如加法、乘法、赋值等,并能识别括号、逗号、点号等其他符号,同时,无法识别的符号被视为非法。 在系统设计部分,词法分析器通常是一个Java控制台程序,它读取名为A.txt的文本文件...

    javascript函数大全

    1. **定义函数**:函数通过`function`关键字定义,后面跟着函数名和一组参数列表,参数之间用逗号分隔,然后是花括号内的函数体。例如: ```javascript function sayHello(name) { console.log('Hello, ' + name)...

    python学习导航.txt

    - 使用Matplotlib和Seaborn可以创建丰富的数据可视化图表,帮助理解和解释数据。 - Matplotlib是Python的绘图库,Seaborn建立在其之上并提供更美观的界面。 机器学习基础 - 使用scikit-learn库可以进行机器学习模型...

    js代码-一些简单的js代码示例

    JavaScript,简称JS,是一种广泛用于Web开发的轻量级编程语言,主要运行在浏览器环境中,为网页添加交互性。此压缩包"js代码-一些简单的js代码示例"包含两...对于学习和理解JavaScript,深入实践和阅读官方文档是关键。

    Javascript中匿名函数的调用与写法实例详解(多种)

    它们在JavaScript编程中扮演着重要角色,特别是在回调、闭包和模块化等场景中。以下是各种匿名函数的调用与写法的详细解释: 1. **立即调用的函数表达式 (IIFE)**: ```javascript (function() { // 函数体 })()...

    理学编译原理PPT学习教案.pptx

    例如,每个关键字对应一个词法单元,运算符表示单一或一类操作,标识符用于变量和函数名,常量如数字或字符串,而界限符号如括号、逗号、分号等。 3. **关键字处理**:保留字是编程语言中预定义的具有特殊含义的词...

Global site tag (gtag.js) - Google Analytics