博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CoffeeScript学习(2)—— 变量
阅读量:5069 次
发布时间:2019-06-12

本文共 826 字,大约阅读时间需要 2 分钟。

变量基础

对于变量的定义的话,形式如下所示

xxx = yyy------编译后------var xxx = yyy;

保留字

我们知道,在原生js中的保留字是不能作为变量名或者属性名的。如果我们确实需要特殊的属性名,则使用方括号的方式进行命名。

像这样:var obj["class"] = "hello";

但是这样的代码没有了一致性。在coffee里,做了统一的处理,我们可以来看看

obj.class = 'Yika'------编译后------obj["class"] = 'Yika';

我们再不需要担心自己的变量名是保留字的了。但请记住,仅仅是处理保留字,不包括数字等不合法变量名。

词法作用域

我们不需要为变量提供一个var,因为coffee会为我们自行声明变量,让我们不需手动去写var。但鉴于这个的原因,在写深层次嵌套的代码时,请不要让外部变量和内部变量同名,增加麻烦。我们可以看一下例子。

outer = 1changeNumber = ()->  inner = 2  outer = 3inner = new Obj()----------编译后----------var changeNumber, inner, outer;outer = 1;changeNumber = function() {  var inner;  inner = 2;  return outer = 3;};inner = new Obj();

我们可以看到,outer是在外层定义的,然后在函数内部再定义一次,就会对外部变量进行赋值。而inner的表现却不尽相同。如果没定义过inner,则函数内部的inner会成为一个局部变量。鉴于这种比较容易出错的特性,所以我们建议一旦要使用局部变量,请一定不要和外部变量重名,以免带来不必要的麻烦。

转载于:https://www.cnblogs.com/YikaJ/p/4321358.html

你可能感兴趣的文章
css3动画——基本准则
查看>>
输入月份和日期,得出是今年第几天
查看>>
pig自定义UDF
查看>>
spring security 11种过滤器介绍
查看>>
代码实现导航栏分割线
查看>>
大数据学习系列(8)-- WordCount+Block+Split+Shuffle+Map+Reduce技术详解
查看>>
【AS3代码】播放FLV视频流的三步骤!
查看>>
枚举的使用
查看>>
luogu4849 寻找宝藏 (cdq分治+dp)
查看>>
日志框架--(一)基础篇
查看>>
关于源程序到可运行程序的过程
查看>>
转载:mysql数据库密码忘记找回方法
查看>>
scratch少儿编程第一季——06、人在江湖混,没有背景怎么行。
查看>>
C# Async与Await的使用
查看>>
Mysql性能调优
查看>>
iOS基础-UIKit框架-多控制器管理-实例:qq界面框架
查看>>
自定义tabbar(纯代码)
查看>>
小程序底部导航栏
查看>>
poj1611 简单并查集
查看>>
Ubuntu 14.04下安装CUDA8.0
查看>>