精华内容
下载资源
问答
  • 1,函数命名规范 普通函数:小驼峰 add() sayName() 普通函数有封装功能,用于执行代码块 构造函数 大驼峰 Object String Date Jiwawa Dog 构造函数 2,如何实现数组去重,即arr=[1,1,2,3,4,3,3,5,6,4]进行...

    1,函数命名规范

    普通函数:小驼峰  add()   sayName()          普通函数有封装功能,用于执行代码块

    构造函数     大驼峰    Object  String  Date Jiwawa  Dog    构造函数   

    2,如何实现数组去重,即arr=[1,1,2,3,4,3,3,5,6,4]进行代码处理变成arr=[1,2,3,4,5,6]

      

     

     

     

     

     

     

    展开全文
  • JavaScript常见变量和函数命名示例

    万次阅读 2020-07-21 15:16:17
    JavaScript作为前端开发从业人员必须掌握的3大基础知识中最重要的一环,也是平是接触时间最长、写得最多的。在开发过程中必然会遇到命名的问题,你会词穷...JavaScript常见变量和函数命名示例思维导图 需要注意的是由

    JavaScript作为前端开发从业人员必须掌握的3大基础知识中最重要的一环,也是平是接触时间最长、写得最多的。在开发过程中必然会遇到命名的问题,你会词穷、纠结、惆怅吗?本文的出现相信能够解决大部分烦恼,让你轻松写出符合规范、易读、简短的代码。

    本文将通过大量的实例来试图自圆其说,形成一套系统化、实用的变量命名理化体系。通过按JavaScript的数据类型分类着手、细到一个函数的参数命名,并提供众多可选方案,并尽量给出其适用范围和利弊。

    JavaScript常见变量和函数命名示例思维导图
    JavaScript常见变量和函数命名示例思维导图

    需要注意的是由于个人写作水平、和知识有限,很多方面叙述上有些生硬,在分类上也没有什么特别的依据,文章也没有人审稿,所以有什么纰漏还请留言告知。由于写作仓促,内容可能不全,后续会随着工作和学习的深入而不断地调整和更新。

    布尔值(Boolean)命名

    Boolean值是两种逻辑状态的变量,它包含两个值:。在JavaScript中对应 truefalse,在实践中通常使用数字1表示真值,0来表示假值。

    虽然Boolean的状态只有两种但是在命名时可以进一步分类,这里给出几种场景:

    场景一:表示可见性、进行中的状态

    解释可见性在通常指页面中的元素、组件是否显示(或者组件挂载到DOM上,但并不可见)。进行中主要是说明某种状态是处于持续进行中。

    推荐命名方式为 is + 动词(现在进行时)/形容词,同时这种方式也可以直接不写 is,但是为了更好的作区分,建议还是加上。

    {
      isShow: '是否显示',
      isVisible: '是否可见',
      isLoading: '是否处于加载中',
      isConnecting: '是否处于连接中',
      isValidating: '正在验证中',
      isRunning: '正在运行中',
      isListening: '正在监听中'
    }
    

    注意: 在Java中使用这种方式是有一定副作用的,为什么请移步:为什么阿里巴巴禁止开发人员使用 “isSuccess” 作为变量名?

    场景二:属性状态类

    解释:通常用来描述实体(例如:HTML标签、组件、对象)的功能属性,而且定法比较固定。

    {
      disabled: '是否禁用',
      editable: '是否可编辑',
      clearable: '是否可清除',
      readonly: '只读',
      expandable: '是否可展开',
      checked: '是否选中',
      enumberable: '是否可枚举',
      iterable: '是否可迭代',
      clickable: '是否可点击',
      draggable: '是否可拖拽'
    }
    

    场景三:配置类、选项类

    解释:主要是指组件功能的开启与关闭,功能属性的配置。

    这是一种比较常见的情景,目前命名方式也有很多种,但是归纳起来也不多。推荐使用 withXx 来表示组件在基本功能形态外的其它功能,比如组件的基础功能到高级功能的开启;使用 enableXx 来表示组件某些功能的开启;使用 allowXx 来表示功能属性的配置;使用 noXx 用于建议功能使用者这个不建议开启。

    {
      withTab: '是否带选项卡',
      withoutTab: '不带选项卡',
      enableFilter: '开启过滤',
      allownCustomScale: '允许自定义缩放',
      shouldClear: '是否清除',
      canSelectItem: '是否能选中元素',
      noColon: '不显示label后面的冒号',
      checkJs: '检查Js',
      emitBOM: 'Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files.'
    }
    

    注意:如果嫌分类太多,可以只使用其中一种方式,比如在Typescript中使用了 allownXxnoXx

    除了上面这些带有特定的前置介词、动词方式外还有一些在语义上带有疑问性质的组合通常也是作为Boolean命名的一种参考。

    {
      virtualScroll: '是否启用虚拟滚动模式',
      unlinkPanels: '在范围选择器里取消两个日期面板之间的联动',
      validateEvent: '输入时是否触发表单的校验'
    }
    

    函数命名

    函数在不同的上下文中的叫法也不一样,在对象中称为方法,在类中有构造函数、在异步处理时有回调函数,还有立即执行函数、箭头函数、柯里函数等。

    函数命名的方式常常是和业务逻辑耦合在一起的,但是在命名规则上也有一些常见的模式可以遵循。

    场景一:事件处理

    事件处理函数是前端平时用到最多的,包括浏览器原生事件、异步事件和组件自定义事件。在写法上最常见的两种命名分别为 onXxonXxClickhandleXxhandleXxChange

    这里如何在二者之间选择,可以从二方面来归类。一是,原生事件采用 onXx,而自定义事件使用handleXx。二是,事件主动监听采用 onXx,被动处理使用 handleXx

    从实践及三大主流框架的文档关于事件部分的内容来看,推荐使用 handleXx 这种方式,而在表单提交的时候通常采用 onSubmit 函数。

    其实,在实际项目中很少严格这样来命名事件处理函数,因为这种方式有一定的局限性,比如点击按钮打开一个对话框,使用 handleOpenDlgonOpenDlg 都没有直接写 openDlg 方便,如果页面有多个不同功能的对话框采用这种方式会显得变量名过长,而handle和on就显得没有必要了,比如hanldeOpenCommentDlg 就没有 openCommentDlg 直白。

    下面列出了一些约定成俗的适用例子:

    {
      onSubmit: '提交表单',
      handleSizeChange: '处理分页页数改变',
      handlePageChange: '处理分页每页大小改变',
      onKeydown: '按下键'
    }
    

    场景二:异步处理

    这里主要是指在写数据层服务、状态管理中的Action命名,以及Ajax回调的命名规则。

    {
      getUsers: '获取用户列表',
      fetchToken: '取得Token',
      deleteUser: '删除用户',
      removeTag: '移除标签',
      updateUsrInfo: '更新用户信息',
      addUsr: '添加用户',
      createAccount: '创建账户'
    }
    

    命名主要围绕数据的增删查找来划分,获取数据通常是 getXxfetchXx,在作者看来两者在使用上的区分在于 getXx 的数据来源不一定直接取自异步的原始数据,可能是加工处理后的,而 fetchXx 是直接拿的原始数据。当然在实际项目中并没有区分,看个人喜好。

    deleteXx 主要用于数据删除,而 removeXx 在语义上是移除数据,通常情况数据是还存在的,只是没有显示或数据假删除。updateXx 是指数据更新操作,addXx 是在已有列表数据中添加新的子项、而createXx主要是创建新的实例,比如新建一个账户。

    场景三: 跳转路由

    在实际开发过种中,比如在使用react-router/vue-router时,在模板或者JSX中可以直接在标签中写上目标地址,但有些时候跳转的目标地址是经过判断或者组合后的,并且通过事件触发跳转的,这个时候就需要一个函数来处理,那么在函数命名的时候可以考虑使用

    {
      toTplDetail: '跳转到模板详情页面',
      navigateToHome: '导航到首页',
      jumpHome: '跳转首页',
      goHome: '跳转首页',
      redirectToLogin: '重定向到登录页',
      switchTab: '切换Tab选项卡',
      backHome: '回到主页'
    }
    

    推荐使用 toXxgoXx 这两种方式,如果不是在当前页面打开/跳转页面,可以使用 toBlankTplDetail 或者 goBlankHome 这种方式来进一步语义化。如果前端页面是位于Webview中,也可以考虑采用toNativeShare 这种方式来命名。

    场景四:框架相关特定方法

    这里主要是针对前端3大主流流行框架,有一些命名是带有特定标识符的,还有就是一些生命周期的命名方式。

    {
      formatTimeFilter: '在AngularJs和Vue中,通常用于过滤器命名',
      storeCtrl: '用于AngularJs定义控制器方法',
      formatPipe: '用于Angular中,标识管道方法',
      $emit: 'Vue中的实例方法',
      $$formatters: 'AngularJs中的内置方法',
      beforeCreate: 'Vue的生命周期命名',
      componentWillMount: 'React生命周期命名',
      componentDidMount: 'React生命周期命名',
      afterContentInit: 'Anuglar生命周期命名',
      afterViewChecked: 'Angula生命周期命名',
      httpProvider: 'AngularJs服务',
      userFactory: '工厂函数',
      useCallback: 'React钩子函数'
    }
    

    场景五:数据的加工

    这类场景在处理列表的时候经常会碰到,比如排序、过滤、添加额外的字段、根据ID和索引获取特定数据等。

    情形一:根据特定属性获取属性

    这里可以参考DOM方法的命名,比如:getElememtById()getElementsByTagName()getElementsByClassName()getElementsByName(),然后提炼出一个比较实用的模板:getXxByYy()。其中 Xx 可以是:element, item, option, data, selection,list, options 以及一些特定上下文的名字,比如:user(s), menu(s) 等。Yy 相对来说比较固定,经常用到的就是 id, index, key, value, selected, actived 等。

    除了使用 get,还可以使用 queryfetch,但是需要注意和上面提到的异步数据处理作一个区分。

    {
      getItemById: '根据ID获取数据元素',
      getItemsBySelected: '根据传入的已选列表ID来获取列表全部数据',
      queryUserByUid: '根据UID查询用户'
    }
    

    注意:在 getItemsBySelected 这种情形下直接写成 getItemsSelected 更好,但只适用于 Yy 为形容词的场景

    情形二:格式化数据

    这里的格式化操作包括排序、调整数据结构、过滤数据、添加属性。命名通常使用 formatXx, convertXx,inverseXx, toggleXx, parseXx, flatXx, 也可以结合数组的一些操作方法来命名,比如 sliceXx, substrXx,spliceXx, sortXx, joinXx 等来命名。

    {
      formatDate: '格式化日期',
      convertCurrency: '转换货币单位',
      inverseList: '反转数据列表',
      toggleAllSelected: '切换所有已选择数据状态',
      parseXml: '解析XML数据',
      flatSelect: '展开选择数据',
      sortByDesc: '按降序排序'
    }
    

    数组命名

    数组的命名推荐使用复数形式来命名,还有就是名词和具有列表意思的单词组合。常见的词汇有options, list, maps, nodes, entities, collection 等。

    {
      users: '用户列表',
      userList: '用户列表',
      tabOptions: '选项卡选项',
      stateMaps: '状态映射表',
      selectedNodes: '选中的节点',
      btnGroup: '按钮组',
      userEntities: '用户实体'
    }
    

    选项元素、下拉元素命名

    主要针对的是在下拉选择框、选项卡元素、Radio、Checkbox等数据源每个选项数据的命名。常见的词汇有:title, name, key, label, field, value, id, children, index, nodes 等。

    基中 title/name/key/label/field 作为选项显示名, value/id 用于唯一标识选项,children/nodes 用于包含子节点内容。如果选项元素的语义很明确的情况下也可以直接使用特定单词来代替提到的这些泛指的词汇,例如菜单列表就可以使用 menu 来作为显示名。

    // 最常见组合
    {
      title: '标题',
      value: 'ID值'
    }
    
    // 组合二
    {
      label: '标签名',
      value: 'ID值'
    }
    
    // 组合三
    {
      name: '元素名',
      id: 'ID值'
    }
    
    // 组合四
    {
      field: '字段',
      value: '标识',
      index: '索引'
    }
    

    当前选项、激活项命名

    适用列表的选中项、菜单选中项、步骤操作的当前进行步骤、页面路由当前路由等的命名。

    {
      activeTab: '当前选中选项卡',
      currentPage: '当前页',
      selectedData: '当前选项中数据',
    }
    

    临时数据、比对数据命名

    针对在代码中有时会使用一些临时的变量来存储数据、保存数据快照的场景下的命名。

    {
      swapData: '临时交换数据',
      tempData: '临时数据',
      dataSnapshot: '数据快照'
    }
    

    数据循环语句中变量命名

    在使用 for 循环时,多层嵌套请依次使用 i/j/k,超过3层可以使用 x/y/zm/n 来命名。使用 forEach,map, filter 等方法时,每一个元素命名可以根据不同语境下的特殊名字来命名,比如遍历 menus,那么每个元素可以命名为 menu,不然则使用上下文无关的词汇,比如:item, option, data, key, object 等。至于索引通常使用 index,如果多层可以使用 index + 数字 的形式,也可以直接使用 i/j/k 来作为索引,甚至还可以使用 subIndex/grandIndex 这种方式来命名。

    对于在使用 for 循环时数组长度如果需要单独命名的话,可以使用 xxlength/xxLens,或者 xxCount

    在循环的过程中通常还会统计某个条件下数据匹配的次数、重复元素数量、记录中间结果等情况。这里推荐使用 count 表示次数,skipped 表示跳过的数量,result 表示结果。

    // for 循环
    for (let i = 0; i < 10; i++) {
      for (let j = 0; j < 10; j++) {
        for (let k = 0; k < 10; k++) {
          // do something
        }
      }
    }
    
    for (let i = 0, lens = this.options.length; i < lens; i++) {
      // do something
    }
    
    // forEach
    users.forEach((item, index) => {
      // do something
    })
    
    menus.forEach((menu, index) => {
      if (menu.children) {
        menu.children.forEach((subMenu, subIndex) => {
          if (subMenu.children) {
            subMenu.children.forEach((grandMenu, grandIndex) => {
              // 一个不常用的示例
            })
          }
        })
      }
    })
    

    方法参数命名

    方法的参数名称和数量在不同的方法中各不相同,但是还是有一些固定的模式可以参考,比如在Vue中监听属性变化的新值和旧值;reduce 方法的上一个值,当前值;回调函数的命名、剩余参数的命名等。

    情形一:新值、旧值

    常见于Vue中watch 对像中的属性监听回调函数,推荐使用

    {
      oldVal: '旧值',
      newVal: '新值'
    }
    

    情形二:上一个值、下一个值和当前值

    这种情形见于路由的钩子方法,Object.assign 数据拷贝的参数。

    // 组合一
    {
      from: '从...',
      to: '到...'
    }
    
    // 组合二
    {
      prev: '上一个...',
      next: '下一个...',
      cur: '当前'
    }
    
    // 组合三
    {
      source: '源',
      target: '目标'
    }
    
    // 组合四
    {
      start: '开始',
      end: '结束'
    }
    

    情形三:异步数据返回

    用于Promise的then方法参数,await 的返回的Promise等。可选择的词汇有:res, data, json, entity,推荐使用 res

    demoPromise.then(res => {
      // do something
    })
    

    情形四:其它情况

    一些使用不多,但是在编程时约定成俗的命名方式。例如 ch 表示单个字符,str 表示字符串, n 代表次数, reg 表示正则, expr 表示表达式, lens 表示数组长度, count 表示数量, p 表示数据的精度, q 表示查询(query), src 表示数据源(source), no 表示数字(number), rate 表示比率, status 表示状态, bool 表示布尔值, arr 表示数组值, obj 表示对象值, xy 表示坐标两轴, func 表示函数, ua表示User Agent, size 表示大小, unit 表示单位, hoz 表示水平方向, vert 表示垂直方向, radix 表示基数,根

    // 传入单个字符
    function upper(ch) {}
    
    // 数量重复
    function repeat(str, n)
    
    // 正则
    'abab'.replace(reg, 'bb')
    

    事件命名

    这里根据DOM、nodejs和一些框架和UI组件的事件进行归纳

    DOM事件

    这里列举DOM中常见的事件命名

    {
      load: '已完成加载',
      unload: '资源正在被卸载',
      beforeunload: '资源即将被卸载',
      error: '失败时',
      abort: '中止时',
      focus: '元素获得焦点',
      blur: '元素失去焦点',
      cut: '已经剪贴选中的文本内容并且复制到了剪贴板',
      copy: '已经把选中的文本内容复制到了剪贴板',
      paste: '从剪贴板复制的文本内容被粘贴',
      resize: '元素重置大小',
      scroll: '滚动事件',
      reset: '重置',
      submit: '表单提交',
      online: '在线',
      offline: '离线',
      open: '打开',
      close: '关闭',
      connect: '连接',
      start: '开始',
      end: '结束',
      print: '打印',
      afterprint: '打印机关闭时触发',
      click: '点击',
      dblclick: '双击',
      change: '变动',
      select: '文本被选中被选中',
      keydown/keypress/keyup: '按键事件',
      mousemove/mousedown/mouseup/mouseleave/mouseout: '鼠标事件',
      touch: '轻按',
      contextmenu: '右键点击 (右键菜单显示前)',
      wheel: '滚轮向任意方向滚动',
      pointer: '指针事件',
      drag/dragstart/dragend/dragenter/dragover/dragleave: '拖放事件',
      drop: '元素在有效释放目标区上释放',
      play: '播放',
      pause: '暂停',
      suspend: '挂起',
      complete: '完成',
      seek: '搜索',
      install: '安装',
      progress: '进行',
      broadcast: '广播',
      input: '输入',
      message: '消息',
      valid: '有效',
      zoom: '放大',
      rotate: '旋转',
      scale: '缩放',
      upgrade: '更新',
      ready: '准备好',
      active: '激活'
    }
    

    自定义事件

    在封装组件时提供的事件名除了参考DOM事件外,在命名上也可以参考Github Api 采用 动词过去时 + Event 的方式, Visual Studio Code Api的 `on +

    {
      assignedEvent: '分配事件',
      closedEvent: '关闭事件',
      labeledEvent: '标签事件',
      lockedEvent: '锁事件',
      deployedEvent: '部署事件'
    }
    

    此外,很多命名方式可以根据场景使用 元素 + click元素 + changeselect + 范围等方式灵活运用

    {
      selectAll: '选择所有',
      cellClick: '当某个单元格被点击时会触发该事件',
      sortChange: '当表格的排序条件发生变化的时候会触发该事件'
    }
    

    状态管理命名

    如果在项目中用到了状态管理(redux/vuex/ngrx),下面给出一些ActionType,Mutation, Action的命名参考。

    // Redux 的 actionType
    LOAD_SUCCESS
    LOAD_FAIL
    TOGGLE_SHOW_HISTORY
    ON_PLAY
    ON_LOAD_START
    FETCH_SONGS_REQUEST
    RECEIVE_PRODUCTS
    
    // ngrx
    const SET_CURRENT_USER = '[User] Set current';
    const ADD_THREAD = '[Thread] Add';
    const UPDATE_TRIP_SUCCESS = 'Update [Trip] Success';
    

    时间变量命名

    // 日期、时间
    // --------------------------------------------------------
    sentAt: '发送时间'
    addAt: '添加时间'
    updateAt: '更新时间'
    startDate: '开始日期'
    endDate: '结束日期'
    startTime: '开时时间'
    endTime: '结束时间'
    

    参考资料

    文章的写作过程中参考大量优秀的文章、优秀开源项目的源码、流行框架的最佳实践指南以及一些SDK的接口文档。

    展开全文
  • 事件命名 事件前面命名用 bind.... 如:bindPicker() 驼锋命名 也可以更祥细一点,如点击按钮调用接口bindGet.... 点击按钮提交数据bindPost.... 点击按钮跳转页面bindGoTo.... 或 BindRoute.... 点击按钮弹窗...

    事件命名

    事件前面命名用 bind....   如:bindPicker()   驼锋命名

    也可以更祥细一点,如点击按钮调用接口bindGet....

    点击按钮提交数据bindPost....

    点击按钮跳转页面bindGoTo....  或 BindRoute....

    点击按钮弹窗bindPopup....

    点击按钮关闭弹窗bindColsePopup....

    点击按钮展示页面某一节点bindShow....

    点击按钮隐藏页面某一个节点bindHide....

    点击按钮删除页面某一个节点bindDelete....

    等等......

    方法命名

    方法名前面用  method .... 或自己简写mt...  如:methodDeleteRoom(),mtDeleteRoom() 驼锋命名

    方法也可以和以上事件一命名得更祥细

    函数命名

    函数名前面用 fun ....      如:funDeleteRoom()  驼锋命名

    函数名也可以和以上事件一命名得更祥细

    class命名

    下划线命名法 chose_cell 或者驼锋choseCell;

    如果是页面公用样式命名 page_ ...  如:page_chose_cell 

    如果是整个项目的公用样式命名 public_ ...  如:public_btn   

    变量命名

    私有变量 前面用下划线_驼锋 如:let  _nameSpace =”lee” ;

    全局变量 去掉前下划线_用小驼锋 如  let  nameSpace =”lee”;

    data里面的字段命名:

    命名用小驼锋,

    如果是一个判断字段,就用is开头

    是否有数据就用 isHave....

    是否显示或展开某一模块节点:isShow....  

    是否弹窗:isPopup....  

    如: isPopupServerDeal : false 或者可以简写,只要页面字段命名统一即可,如: isPupServerDeal

    是否展示某一个组件:isPicker....  

    如: isPickerChoseRoom : false 或简写isPickerChoseRoom:true

    如果是数据是数组对象,如这样的数据

    前面根据数据作用命名,用DataList结尾:starMsgDataList

    如果仅仅是一个数组,如:

    就直接用list结尾:  starMsgList

    如果仅仅是一个对象,如:

    就直接用data结尾:  starMsgData

    这样约定俗成,只要看一下字段就知道某一个接口返回的是什么数据结构了

    如果数据是一个数字值,如某一个长度,就用length 结尾: 协议数量 dealLength

    如果数据是一个索引值,如tab里的第几个页, 用index结尾:tabIndex

    如果是多个tab页的,每个tab页的下面的子数据放到对应的tab页的对象里面,方便管理

    后续有时间我再补充更多

     ================================================

     如果你是新手想学前端可以加我,

    如果你是一个有基础,但学习前端没有明确的方向,可以加我

    如果你刚毕业找到前端的工作,但工作上遇到问题或怕遇到问题解决不了的可以加我

    一对一私人指导/教学(费用很便且):微信:

     

     

        

    展开全文
  • js函数命名常用动词

    2016-12-06 10:44:00
    get 获取/set 设置, add 增加/remove 删除 create 创建/destory 移除 ...start 启动/stop 停止 ...涉及返回逻辑值的函数可以使用is,has,contains等表示逻辑的词语代替动词

    get 获取/set 设置,        

    add 增加/remove 删除

    create 创建/destory 移除        

    start 启动/stop 停止

    open 打开/close 关闭,        

    read 读取/write 写入

    load 载入/save 保存,        

    create 创建/destroy 销毁

    begin 开始/end 结束,        

    backup 备份/restore 恢复

    import 导入/export 导出,        

    split 分割/merge 合并

    inject 注入/extract 提取,        

    attach 附着/detach 脱离

    bind 绑定/separate 分离,        

    view 查看/browse 浏览

    edit 编辑/modify 修改,        

    select 选取/mark 标记

    copy 复制/paste 粘贴,        

    undo 撤销/redo 重做

    insert 插入/delete 移除,        

    add 加入/append 添加

    clean 清理/clear 清除,        

    index 索引/sort 排序

    find 查找/search 搜索,        

    increase 增加/decrease 减少

    play 播放/pause 暂停,        

    launch 启动/run 运行

    compile 编译/execute 执行,        

    debug 调试/trace 跟踪

    observe 观察/listen 监听,        

    build 构建/publish 发布

    input 输入/output 输出,        

    encode 编码/decode 解码

    encrypt 加密/decrypt 解密,        

    compress 压缩/decompress 解压缩

    pack 打包/unpack 解包,        

    parse 解析/emit 生成

    connect 连接/disconnect 断开,        

    send 发送/receive 接收

    download 下载/upload 上传,        

    refresh 刷新/synchronize 同步

    update 更新/revert 复原,        

    lock 锁定/unlock 解锁

    check out 签出/check in 签入,        

    submit 提交/commit 交付

    push 推/pull 拉,        

    expand 展开/collapse 折叠

    begin 起始/end 结束,        

    start 开始/finish 完成

    enter 进入/exit 退出,        

    abort 放弃/quit 离开

    obsolete 废弃/depreciate 废旧,        

    collect 收集/aggregate 聚集

    涉及返回逻辑值的函数可以使用is,has,contains等表示逻辑的词语代替动词

    展开全文
  • 函数命名方式 JavaScript代码服用单位是函数函数可以包含一段可执行代码,也可以接受调用者传入的参数。JavaScript定义函数主要有以下三种方式: 第一种方式:命名函数 <script> function 函数名(参数...
  • 广告关闭腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买...函数对象函数是第一对象:# 函数名指向的值可以被当做参数传递函数对象的特性(*****灵活运用,后面讲装饰器会用到)函数名可以像变...
  • 第一个单词应该用动词。
  • JavaScript变量匈牙利命名法 匈牙利命名法语法: 变量名=类型+对象描述 类型指变量的类型 对象描述指对象名字全称或名字的一部分,要求有明确含义,命名要容易记忆容易理解。 提示: 虽然JavaScript变量表面上没有...
  • 本文将从原理和实践两个方面来探讨javaScript关于命名函数表达式的优缺点。 简单的说,命名函数表达式只有一个用户,那就是在Debug或者Profiler分析的时候来描述函数的名称,也可以使用函数名实现递归,但很快你就会...
  • API接口中的函数命名规则

    万次阅读 2016-04-19 10:18:00
    作者:姚冬 ... 来源:知乎 著作权归作者所有。...接口函数一旦发布就不能改了,要保持兼容性,拼写错误也不能改了,所以要仔细检查拼写,否则会被同行嘲笑很多年。 著名悲剧:unix 的 creat 2.
  • 学习js的朋友一定要知道和注意,其实每种语言都有它的命名规则
  • JavaScript命名函数

    2010-06-03 22:32:00
    函数表达式实际上还是很常见的。Web开发中有一个常用的模式,即基于对某种特性的测试来“伪装”函数定义,从而实现性能最优化。由于这种伪装通常都出现在相同的作用域中,因此基本上一定要使用函数表达式。毕竟,如...
  • 匈牙利命名法匈牙利命名法匈牙利命名法是电脑程序设计中的一种变量命名规则,此命名法又可细分为:系统匈牙利命名法和匈牙利应用命名法。匈牙利命名法具备语言独立的特性,并且首次在BCPL语言中被大量使用。由于BCPL...
  • Js函数

    千次阅读 热门讨论 2021-02-21 13:18:57
    目录JavaScript 函数定义自调用函数箭头函数JavaScript 函数参数参数规则默认参数ES6 函数可以自带参数arguments 对象JavaScript 函数调用this 关键字调用 JavaScript 函数作为一个函数调用函数作为方法调用使用构造...
  • JavaScript中,一个函数有很多元素组成,同时也受很多元素影响:函数体的代码函数的参数列表接受外部变量域的变量返回值当函数被调用时,this指上下文命名和匿名函数函数对象作为变量声明arguments对象(在ES6中的...
  • https://www.cnblogs.com/Hsong/p/9016950.html 具体参照以上地址,由以上地址提供
  • 命名规则: 只能由字母、数字、下划线、$组成; 必须以字母开头; 也可以以 “$” 和 下划线 开头(不推荐); 不能使用关键字和保留字 注:变量命名区分大小写 JavaScript中主要的关键字 关键字 描述 ...
  • js命名规范

    千次阅读 2019-05-05 16:39:28
    js命名规范 众所周知,前端开发对于代码可维护性与规范是非常严格的,这就需要我们有一套统一的...参照项目命名规则;有复数结构时,要采用复数命名法 scripts,styles,images,data_models js文件命名 常量 采取全...
  • 本文首发于 vivo互联网技术 微信公众号 ...作者:杨昆 上篇 《如何编写高质量的 JS 函数(1) -- 敲山震虎篇 》介绍了函数的执行机制,此篇将会从函数的命名、注释和鲁棒...一、目前前端的函数命名存在什么问题 从上...
  • javascript命名规范

    2014-10-27 20:36:20
    学了一段时间的框架BootStrapt,感觉好空,基础没有打好,在框架的基础上改代码...感觉代码没有错误,可是一直没有运行出来,我的函数命名为bijao,因此我趁此翻阅资料总结一下javascript中函数和变量的命名规范。 ...
  • 规范javascript 变量命名规则 javascript 有三大经典的变量命名法:匈牙利命名法,驼峰式命名法和帕斯卡命名法。今天主要介绍下这三种命名方式。 匈牙利命名法 语法 变量名 = 类型 + 对象...
  • 还有一种函数表达式不太常见,就是被括号括住的(function foo...如果function foo(){}是作为赋值表达式的一部分的话,那它就是一个函数表达式,如果function foo(){}被包含在一个函数体内,或者位于程序的最顶部...
  • JS命名规范

    2019-10-24 19:34:40
    JS命名规范类型 JS命名分为匈牙利命名、类型前缀、驼峰命名(下面一一介绍) 匈牙利命名 类型前缀 + 驼峰命名 => 匈牙利命名 例如: var oBtn= document.getElementById(“#box”) 类型前缀 o => 一个 ...
  • JavaScript命名规范

    2019-07-23 17:15:05
    规范性—符合规则 匈牙利命名法(相对来说使用较多的命名法) 类型前缀 首字母大写 类型 前缀 类型 实例 数组 a Array aItems 布尔值 b Boolean bIsComplete 浮点数 f Float iPrice 函数 fn ...
  • 参考: [url=http://javascript.info/tutorial/functions-declarations-and-expressions]functions-declarations-and-expressions[/url] 在Javascript中,[color=red]函数象变量...Javascript中定义函数有如下3...
  • js标识符命名规范

    千次阅读 2019-05-28 17:59:51
    js标识符命名规范js中所有的由我们自主命名的都可以称为标识符 例如:变量命,函数名,属性名都属于标识符 命名一个标识符需要遵守以下规范: 标识符中可以含有字母,数字,下划线,$ 标识符不能以数字开头 ...
  • 命名函数表达式 命名函数表达式(NFE,Named Function Expression),指带有名字的函数表达式的术语。 eg:普通函数表达式: let sayHi = function(who) { alert(`Hello, ${who}`); }; 给它一个名字,就是命名函数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 81,018
精华内容 32,407
关键字:

js函数命名规则