位置: 编程技术 - 正文

每日十条JavaScript经验技巧(一)(每日十条中医用药经验)

编辑:rootadmin

推荐整理分享每日十条JavaScript经验技巧(一)(每日十条中医用药经验),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:每日十条中医用药经验,每日十条笑话段子,每日十条笑话段子,每日十条中医临床应用经验,每日十条笑话段子,每日十条笑话大全,每日十条笑话段子,每日十条中医临床用药经验,内容如对您有帮助,希望把文章链接给更多的朋友!

1. 不使用script自闭合标签

script中使用自闭合标签,虽然他在XHTML中合法,但是不符合HTML规范,而且得不到某些浏览器的正确解析。我曾经就在引入EXT时使用此方式,导致无法正确执行脚本。

<script src="example.js"/> --> <script src="example.js"></script>

2. 将脚本放到</body>前面

如果将脚本文件放到<head>中去,则在显示页面前先得下载执行脚本,增加了用户等待的时间。样式表放在<head>中防止内容显示不正常。一般方式如下:

3. 在函数内使用严格模式

如果在函数外部使用严格模式,则有可能会使第三方类库,和同事的代码不能正常工作,在函数内部则只能影响自己的代码,不至于影响到别人的代码。

4. 不要省略语句结尾的分号

代码结尾处没有分号容易引起压缩错误,另外在某些情况下可以增进代码的性能,应为解释器不比在花时间推测在什么地方插入分号。还有一种更常见的问题就是,自动插入分号有时会出错,所以并不建议省略分号。

5. 使用var定义变量

定义变量时使用var关键字,并且全部提前至函数的最开始。这样做的好处就会避免无意识的创建出全局变量,而且让你的代码更容易理解。

这个函数语法上是没有问题的,但是不是很直观,不符合人的逻辑,修改如下会更好:

给大家解释一下,上面两个代码是等价的,result的值都是NAN.JavaScript会把函数内所有的变量声明提升到函数的最开始,代码一在代码执行时会变成代码二的样子,当运行到result = + value;时,value的值为undefined,和相加为NAN,然后value被赋值为。

关于全局变量带来的问题,大家想必也比较清楚,不然也不会出现命名空间的概念。

6. 函数先声明再使用

和变量声明一样,函数声明也会被JavaScript引擎提前,因此在代码中,函数的调用可以出现在函数的声明之前。 还有一点值得注意,函数声明不应该出现在语句块之内,比如:

每日十条JavaScript经验技巧(一)(每日十条中医用药经验)

运行代码我们发现会输出会和浏览器有关,在Chrome 和Firefox 输出true,IE 下输出false。所以尽量避免在语句块中声明函数。

7. 慎用typeof underfined null判断

null是一个特殊值,我们经常和undefined混淆,下列场景应使用null:

用来初始化一个变量,这个变量可能赋值为一个对象。 用来和一个已经初始化的变量比较。 当函数的参数期望传入对象时,用作参数传入。 当函数的返回值期望是对象时,用作返回值传出。

下面一些情况不应该使用null:

不要使用null来检查是否传入了某个参数。 不要用null来检查一个变量是不是初始化。

理解null最好的方式是将他当做对象的占位符。我们经常将null和undefined搞混的原因是我们认为null和undefined都是变量未初始化,但是只有undefin代表一个变量还没有被初始化,null代表初始化为对象。看如下代码:

所以尽量不要用typeof判断变量是否初始化,你并不能确定是变量不存在还是变量未初始化,返回null是你也不能确定变量有没有被正确的赋值,所以小心使用typeof。

8. 小心使用Number类型

想必大家也知道JavaScript整数支持十进制,八进制,和十六进制的字面值。八进制中如果字面值中的数值超过了范围,那么前导零将会被忽略,后面的数值当做十进制解析。

console.log(); //console.lgo(); //

如果将八进制和十六进制用于小数则会语法错误。还有一点,八进制字面量在严格模式下是无效的。 关于浮点数计算误差的问题大家也都清楚,凡是基于IEEE数值的浮点计算都是这样,所以永远不要测试某个特定的浮点数值。在数值类型中有一个比较特殊的值,NaN(Not a Number),这个数值用于表示本来应该返回数值但是返回的不是数值类型。NaN和任何值都不相等,包括NaN本身。我们可以用isNaN()函数测试。

9. 使用逻辑运算动态赋值

大家比较喜欢的操作

如果condition转为boolean类型为false,则myVar = condition,若为true,则myVar = person。

如果condition转换为boolean为true,则myVar = condition,若为false,则myVar = person。

. 不使用with语句

不使用with的一个重要原因是,在严格模式下语法本身就是禁用with语句的,这也表明ECMAScript委员会确信不应使用with。我们看如下例子:

上述代码的问题在于我们很难分辨title和author出现的位置,也难分辨出message到地址一个局部变量还是book的一个属性,而且JavaScript引擎和压缩工具无法对这段代码进行优化,应为它们无法猜出代码的正确含义。

好了,已经十条了,我们下一个十条再见。

每日十条JavaScript经验技巧(二) 1.非数值类型转数值使用Number()转换时:undefined会转为NaN如果字符串以0开始,浏览器会忽略前导0,不会按照八进制进行转换如果字符串以0x开始,浏览器

正则表达式(语法篇推荐) 正则表达式的构造摘要构造匹配字符x字符x\反斜线字符n带有八进制值0的字符n(0=n=7)nn带有八进制值0的字符nn(0=n=7)mnn带有八进制值0的字符mnn(0=m=3、

老生常谈 关于JavaScript的类的继承 其实最一开始学JS的时候就看过继承的实现。当时只是去试着理解从书上看来的代码段而已。今天又重新思考了一下,感觉这是一个思维探索演进的结果

标签: 每日十条中医用药经验

本文链接地址:https://www.jiuchutong.com/biancheng/370140.html 转载请保留说明!

上一篇:Javascript对象字面量的理解(javascript对象的属性和方法)

下一篇:每日十条JavaScript经验技巧(二)(每日十条简短新闻)

  • 没有固定金额的合同叫什么合同
  • 小规模纳税人征税率为多少
  • 增值税加计扣除是什么意思啊
  • 进口烟丝交多少税
  • 小规模纳税人税额怎么做分录
  • 已暂估入库原材料,确认收不到发票怎么调账
  • 小规模公司企业所得税交多少
  • 账面现金可以转出吗
  • 清算期间作为纳税年度
  • 预提车间租入固定资产租金800元
  • 企业所得税税前扣除凭证管理办法
  • 技改贴息资金的财务、会计及税收处理
  • 商业企业的商品销售额、职工人数是( )
  • 税控服务费能抵扣吗
  • 社保补贴收入要交税吗?
  • 收到法人的借款
  • 外购的半成品属于原材料吗
  • 发票开错地方教育费附加多交了可以冲掉吗?
  • 一般纳税人销售自己使用过的物品
  • 教学用品采购
  • 购物卡消费后不给开票
  • 某产品今年进价是去年的
  • 存货账实不符的税务风险
  • 预借现金和现金分期的区别
  • 企业以盈余公积转增资本,会引起所有者权益总额的变动
  • 产值税收是什么意思
  • 员工离职一次性结清工资
  • 直接人工成本的计算
  • 软件产品即征即退申请表
  • googlechrome谷歌浏览器
  • 应收账款未计提坏账能直接核销
  • 发出材料成本差异会计分录
  • win7为什么显示多重网络
  • win11系统设置快捷键
  • cyb2k.exe是安全进程吗 cyb2k进程危险吗
  • 采用账龄分析法计提坏账准备
  • 原材料结转成本有几种方法
  • 境外向国内汇款新规
  • centos7完整版安装
  • 发放职工薪酬的账务处理
  • uni-app介绍
  • set0
  • ts和js混用
  • CUDA版本选择
  • 扩散模型和gan的区别
  • 一般纳税人销售给小规模纳税人
  • python3 静态方法
  • 年度结转增值税
  • 九步功法
  • dedecms使用教程
  • 帝国cms怎么用
  • 代开专票的个税减免吗?
  • 影响存货管理的因素有哪些
  • 个人独资企业要交哪些税
  • 进账税发票未认账怎么办
  • 软件公司购进软件会计科目
  • 纳税人销售免税产品开具专票
  • 进销项月末结转吗
  • 弥补亏损的会计处理
  • 软件开发收费标准
  • 免于填报什么意思
  • win 10如何安装
  • 苹果电脑怎么打开u盘
  • imecmnt.exe
  • win8怎么设置
  • centos 做bond
  • onetouch.exe - onetouch是什么进程 有什么用
  • win8文件夹选项在哪
  • win10系统怎么cmd
  • opengl教程48讲
  • nodejs链接mysql
  • node.js设置环境变量
  • shell脚本 -ne 0
  • getmac/v
  • 使用Math.floor与Math.random取随机整数的方法详解
  • Node.js+Express+MySql实现用户登录注册功能
  • jQuery iScroll.js 移动端滚动条美化插件第1/5页
  • css中position的用法
  • 河北税务总局发票怎么开
  • 车辆购置税查询平台打印
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设