读angularjs的源码开头。

   var lowercase = function (string) {return isString(string) ? string.toLowerCase() : string;};var uppercase = function (string) {return isString(string) ? string.toUpperCase() : string;};

  function isString(value) {        return typeof value == 'string';    }

一看知道是大小写的互相转换,不过angular.js为了保证js的toLowerCase会出现异常 因此又补充了两个方法

    if ('i' !== 'I'.toLowerCase()) {lowercase = manualLowercase;uppercase = manualUppercase;}var manualLowercase = function (s) {return isString(s)? s.replace(/[A-Z]/g, function (ch) {return String.fromCharCode(ch.charCodeAt(0) | 32);}): s;};var manualUppercase = function (s) {return isString(s)? s.replace(/[a-z]/g, function (ch) {return String.fromCharCode(ch.charCodeAt(0) & ~32);}): s;};

详解manualLowercase的方法

首先判断是否是字符串 接着如果在字符串中 发生了"A-Z"之中的字母被替换了,那么替换"A-Z"的就是他相对应的小写字母“a-z”.

"A.charCodeAt(0)"==>65

"A.charCodeAt(0)|32"==>97

"String.fromCharCode(97)"==>a

通过我很不熟悉的位运算符,就这样完成了大小写的互转,写实在有点巧妙,学习了。

转载于:https://www.cnblogs.com/ffjiang/p/3452189.html

angularjs里对JS的lowercase和uppercase的完善相关推荐

  1. AngularJs里用js控制单选框默认选中

    ① html页面 <div class="form-group"><label>{{'性别' | translate}}</label>< ...

  2. AngularJS+Satellizer+Node.js+MongoDB-Instagram-20

    2019独角兽企业重金招聘Python工程师标准>>> Build an Instagram clone with AngularJS, Satellizer, Node.js an ...

  3. 在 Azure 中的 Linux VM 上创建 MongoDB、Express、AngularJS 和 Node.js (MEAN) 堆栈

    本教程介绍如何在 Azure 中的 Linux VM 上实现 MongoDB.Express.AngularJS 和 Node.js (MEAN) 堆栈. 通过创建的 MEAN 堆栈,可以在数据库中添 ...

  4. twig 调用php函数,twig里使用js变量的方法

    本文实例讲述了twig里使用js变量的方法的方法.分享给大家供大家参考,具体如下: 先看一段代码 这个ajax请求的地址,无法正常正常访问. 这段代码里 jQuery("#my_input& ...

  5. jquery获取iframe里的js事件

    jquery获取iframe里的js函数: $("#myiframe")[0].contentWindow.func(); 说明: iframe的ID为:myiframe ifra ...

  6. AngularJS+Satellizer+Node.js+MongoDB-Instagram-01

    2019独角兽企业重金招聘Python工程师标准>>> Build an Instagram clone with AngularJS, Satellizer, Node.js an ...

  7. 一个html中同时引入js和ts,《使用require在ts里引入js》

    在Money.vue组件里,我们使用localStorage,在用户输入完一系列选择以后,如选择了什么标签,写了什么备注,支出还是收入,以及记账金额,点击ok按钮的时候,把这些数据收集到record对 ...

  8. 关于ajax页面里的js方法无法使用的解决办法

    在我的playvideo.php页面里,显示评论那一块使用ajax,通过一个DIV来显示comment.php页面. 而在comment.php里面有一个删除的按键用来删除功能,用的也是ajax,通过 ...

  9. m3u8文件里只有js链接,没有ts链接,和key文件的一点记录

    xxxx是域名或者接口,别问为什么,问就是怂. 一般来说,m3u8文件是类似于下面这样的 它有很多的ts链接,可以下载对应的ts文件视频,在通过别的方法去合并成一个完整的长视频. 前两天,爬虫出了bu ...

最新文章

  1. 小甲鱼关于push,pop指令的一个编程题
  2. 201621123069 《Java程序设计》第十一周学习总结
  3. 五大因素推动中国AI崛起,生态报告概览中国AI产业 By 机器之心2017年7月17日 12:51 中国的人工智能将会在全世界扮演什么样的角色?最近,风险投资机构Vertex发表了一份生态研究报告
  4. Quartz-JobDataMap 参数传递
  5. POJ - 2676 Sudoku(dfs)
  6. php 9000 端口没起来,ubuntu fpm-php 未监听9000端口问题
  7. layui upload.render上传组件js动态添加html后再次渲染
  8. 统计挖掘那些事(六)——强大的逻辑回归(理论+案例)
  9. 编写Spark SQL查询程序
  10. 在线QuartzCron定时任务表达式在线生成
  11. 什么是多道程序设计技术,试述多道程序运行的特征。
  12. 怎么把网页保存成pdf格式-最简单操作
  13. 焦作大学对口计算机分数线,焦作大学录取分数线|2021焦作大学分数线|2021年焦作大学高考分数线|2021年焦作大学招生计划录取人数...
  14. 18年第十二届东北四省赛
  15. 安卓各版本大变化(Android 6.0到10.0),兼容适配
  16. 使用NAudio音频文件剪切指定片段
  17. linux centOS 没有网,怎么办
  18. 服务器主机如何安装系统安装系统安装,服务器主机系统安装教程
  19. mysql删去root用户无法登录_MySQL误删root用户导致无法登陆解决方法
  20. Kx3551高音质完美功能安装包

热门文章

  1. 3.2计算机系统教案,计算机系统教案.ppt
  2. raptor五个数排序流程图_数据结构与算法(一):排序(上)
  3. Java中 equals和==的区别?
  4. python中numeric_Python中的Numeric
  5. 原码一位乘法器设计_对原码、反码和补码的加深理解
  6. 030_vue命名路由
  7. 009_logback本地Appender
  8. Android源代码介绍,Android-Log源码详解
  9. eclipse 达梦 连接_达梦Hibernate Spring集成开发示例
  10. 360能删除mysql吗_如何彻底删除MYSQL