zoukankan      html  css  js  c++  java
  • CoffeeScript的缩进

    CoffeeScript用缩进代替了花括符“{}”,作用范围的划分只靠缩进。这带来代码精简、简洁的同时,有时候也让人困惑。

    比如说:

    if 3 > 1
      alert("噢,宇宙真理!");
    else
      alert("顶!支持!威武!有希望了!");

    编译成javascript,就是

    if (3 > 1) {
      alert("噢,宇宙真理!");
    } else {
      alert("顶!支持!威武!有希望了!");
    }

    1、这个缩进,最重要的是缩进的层次,而每层缩进多少,是2个字符,还是4个字符,都没有关系。比如:

    if 3 > 1
      alert("噢,宇宙真理!");
    alert("顶!支持!威武!有希望了!");

    ==》javascript:

    if (3 > 1) {
      alert("噢,宇宙真理!");
    }
    
    alert("顶!支持!威武!有希望了!");

    可以看到,两个alert,所属缩进层次不同,因此会有不同的作用范围。


    if 3 > 1
      alert("噢,宇宙真理!");
      alert("顶!支持!威武!有希望了!");

    ==>javacript:

    if (3 > 1) {
      alert("噢,宇宙真理!");
      alert("顶!支持!威武!有希望了!");
    }

    2个alert在这里都是缩进了2个字符。如果都缩进4个字符、8个字符,编译结果都是一样的。缩进,最重要的是缩进的层次,而每层缩进多少个字符,并无硬性规定。

    2、缩进的时候,要么全部用tab,要么全部用空格,绝对不能混用,否则编译不通过

    这也是coffeescript最令人蛋疼的地方。

    但单从外观看,很难区分用tab键的缩进和空格键的缩进有什么区别。如果用sublime text作为编辑工具,只要Ctrl + A,全选,就能看到二者的不同。并且,其右下角可以选每个层次的缩进字符数,十分方便。如果勾选了 "Indent using spaces"选项,那么在sublime text里,按tab和按空格键都可以,sublime text会统一处理为空格。





  • 相关阅读:
    电视盒子通过adb安装第三方应用
    采用网闸隔离的内外网如何进行数据的即时交互?
    数据结构-python-二叉树
    Python+uiautomator2写安卓手机脚本前期准备
    centos6.5离线rpm安装mysql
    centos7 nginx 启动脚本
    zabbix简单改造为免密登陆
    vue生命周期函数
    mysql 深入问题了解
    9. 回文数.py
  • 原文地址:https://www.cnblogs.com/leftfist/p/4257843.html
Copyright © 2011-2022 走看看