位置: 编程技术 - 正文

JavaScript函数学习总结以及相关的编程习惯指南(javascript中的函数)

编辑:rootadmin

推荐整理分享JavaScript函数学习总结以及相关的编程习惯指南(javascript中的函数),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js函数的使用规则,javascript 函数,js函数详解,js函数详解,javascript函数用法,javascript数学函数,javascript数学函数,javascript函数用法,内容如对您有帮助,希望把文章链接给更多的朋友!

null 和 undefinedUndefined相当于一个变量并没有明确的被赋值(是否被赋值, 可能无心忽略, 逻辑问题) JS的怪异之处就在于undefined真的是一个可以使用的值。

同理,当缺失参数时 JavaScript 会分配一个 undefined:

Null相当于变量被明确指定了没有值,而不是由于意外的原因被忽略掉了(赋值null, 正当逻辑)

参与运算JS的null如果进入运算,真的会被解析成为0或false:

undefined进入运算,一律得到NaN:

逻辑判断null和undefined逻辑判断时都认为是false。

只用一个判断,就可以同时检验这两项是否为真:

但是如果碰到大坑==的时候

好的做法, 一律使用===

判断一个量已定义且非空,只使用:if (a !== null && a !== undefined)。=== 和 ==1.==用来判断两个值是否相等

当两个值类型不同时,会发生自动转换,得到的结果非常不符合直觉,这可能不是你想要的结果。

2.===

类型+值比较

"如果两边的操作数具有相同的类型和值,===返回true,!==返回false。"——《JavaScript:语言精粹》

最佳实践:

任何时候在比较操作中使用 === 和 !==json操作

函数对象及匿名函数函数对象赋值

以及

匿名函数

最佳实践1.定义多个变量时,省略var关键字,用逗号代替

更好的做法

2.谨记,不要省略分号, 不要省略花括号

省略分号,可能导致更大的,未知的,难以发现的问题

更好的做法

3.使用{}代替 new Ojbect()

在JavaScript中创建对象的方法有多种。可能是传统的方法是使用”new”加构造函数,像下面这样:

更好的做法

只要把多个全局变量都整理在一个名称空间下,拟将显著降低与其他应用程序、组件或类库之间产生糟糕的相互影响的可能性。——Douglas Crockford

4.使用[]代替 new Array()

JavaScript函数学习总结以及相关的编程习惯指南(javascript中的函数)

更好的做法:

5.typeof判断

typeof一般只能返回如下几个结果:number,boolean,string,function,object,undefined

expr:

e.g.

6.三元运算符 :强大且风骚

语法

7.使用逻辑 AND/OR 做条件判断

8.给一个变量赋值的时候不要忘记使用var关键字

给一个未定义的变量赋值会导致创建一个全局变量。要避免全局变量

9.自我调用的函数

自调用匿名函数(Self-Invoked Anonymous Function)或者即时调用函数表达式(IIFE-Immediately Invoked Function Expression)。这是一个在创建后立即自动执行的函数

.避免使用 eval() 和 Function 构造函数

Eval=邪恶, 不仅大幅降低脚本的性能(译注:JIT编译器无法预知字符串内容,而无法预编译和优化),而且这也会带来巨大的安全风险,因为这样付给要执行的文本太高的权限,避而远之

使用 eval 和 Function 构造函数是非常昂贵的操作,因为每次他们都会调用脚本引擎将源代码转换成可执行代码。

.避免使用 with()

使用 with() 会插入一个全局变量。因此,同名的变量会被覆盖值而引起不必要的麻烦

.脚本放在页面的底部

记住——首要目标是让页面尽可能快的呈献给用户,脚本的夹在是阻塞的,脚本加载并执行完之前,浏览器不能继续渲染下面的内容。因此,用户将被迫等待更长时间

.避免在For语句内声明变量

bad

good

.给代码添加注释

.instanceof

instanceof 方法要求开发者明确地确认对象为某特定类型

.apply/call

apply

Function.apply(obj,args)方法能接收两个参数

obj:这个对象将代替Function类里this对象args:这个是数组,它将作为参数传给Function(args-->arguments)call

obj:这个对象将代替Function类里this对象params:这个是一个参数列表使用哪个取决于参数的类型

举例说明如何为JavaScript的方法参数设置默认值 你是否遇到过这样的情况,写了个function,无参数。functionshowUserInfo(){alert("你好!我是小明。");}functionshowUserInfo(){alert("你好!我是小明。");}调用:showUse

详解JavaScript语言的基本语法要求 JavaScript语言的基本语法要求有哪些呐?下面将为大家一一解答:一、区分大小写JavaScript语言区分字符大小写,两个字符串相同大小写不同,被认为是不

JavaScript获取各大浏览器信息图示 如何获取浏览器信息Window有navigator对象让我们得知浏览器的全部信息.我们可以利用一系列的API函数得知浏览器的信息.JavaScript代码如下:functionmessage(){txt=

标签: javascript中的函数

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

上一篇:举例讲解JavaScript中关于对象操作的相关知识(举例讲解水生花卉栽培管理)

下一篇:举例说明如何为JavaScript的方法参数设置默认值(举例说明如何为教学搭建支架)

  • 增值税开票软件在哪下载
  • 个人在境外取得收入纳税办法
  • 税差理论名词解释
  • 利润的敏感性分析怎么做?
  • 商誉 会计
  • 政府单位临聘人员辞退
  • 长期待摊费用摊销计入什么会计科目
  • 普通发票为什么没有章
  • 非货币资产交换的会计处理原则
  • 企业公益性捐赠支出税前扣除标准
  • 企业购买商品发生的商业 应该计入财务费用吗
  • 冲减成本费用会计分录
  • 房地产公司预收账款明细科目
  • 个人代开普通发票需要出税费吗?
  • 建筑合同通用条款
  • 面条适用的增值税率是
  • 财税2010 121号文件是否作废
  • 小规模纳税人自己可以开专票吗
  • 存货跌价准备会影响利润总额吗
  • 自建房屋没有发票如何入账
  • 办公室租金可以计入办公费吗
  • win11进入黑屏
  • linux批量操作工具
  • 增值税税率调整差额怎么计算
  • PHP:mb_regex_encoding()的用法_mbstring函数
  • 实收资本可以大于注册资本吗
  • 工伤单位支付
  • 固定资产原值和账务账套原值不平
  • Vue:element-ui中表格过长内容隐藏显示
  • 经营性应收项目的计算公式
  • 政府会计制度应付职工薪酬账务处理
  • 提取法定盈余公积会计科目
  • video.js教程
  • 如何快速上手看门狗2
  • 程序员 cr
  • thinkphp用户token
  • phpstudy命令行
  • 弥补以前年度亏损最多几年
  • 报关单份数
  • 固定资产出售算不算收入
  • 进销存使用视频
  • linux mongodb配置文件
  • 代收代付保险费分录
  • SQL Server实现split函数分割字符串功能及用法示例
  • 同时运行多个MySQL服务器的方法
  • 未认证未抵扣的进项税
  • 机动车临时号牌怎么贴
  • 收到银行的贷款怎么做会计分录
  • 应交税金减免税科目
  • 未付工程款范围内承担
  • 货款和发票金额一样吗
  • 环境保护税法自什么时候起施行
  • 什么是划分?划分应当遵守哪些规则?
  • 通过SQL绘制杨辉三角的实现方法介绍
  • CentOS7下MySQL5.7安装配置方法图文教程(YUM)
  • win8系统打开苹果系统文件
  • win10预览版选哪个
  • 怎样修改windows开机密码
  • Linux 下 (RedHat 9.0) JDK,Tomcat,MySQL的安装
  • win101909玩dnf怎么样
  • ubuntu14.04升级
  • win10怎样永久激活
  • 在linux 上使用QQ聊天程序
  • windows 10预览版
  • win10系统以太网连接图标不见了怎么办
  • windows7旗舰版怎样扩大虚拟内存
  • 如何判断电脑是不是linux
  • linux系统中怎么编写一个程序
  • Metaio in Unity3d 教程---Metaio扫描图片要求(Image Tracking)
  • js堆栈和队列
  • node vm模块
  • javascript的应用
  • unity text
  • jquery加载图片
  • jQuery Easyui Tabs扩展根据自定义属性打开页签
  • python按位与操作
  • 如何查询车辆购置税
  • steam账号要身份证吗
  • 张某每月从单位取得工资15000
  • 税务机关垂直领导
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设