「编程」后台编程语言互相争执,为何前端公认JavaScript?( 二 )
同样的道理 , 它们的值相等 , 都为null , 但是类型不一样 , 所以不恒等于 。
4三目运算符也就是Java中的三元运算符 。
二、js中的函数1函数定义js中的函数其实也就是Java中的方法 。
①Java中的方法
做一个回顾 , Java方法格式:修饰符+返回值+方法名+(参数列表)+{方法体;
其中参数列表中要明确数据类型 。
②js中的函数
js函数格式:fuction+方法名(参数列表){;
js中不仅没有修饰符 , 连返回值都没有 , 并且参数列表的数据类型不用明确 。
由此可以看出:js的语法相对于Java而言较为随意 , 不像Java那么严谨 , 但确实简便了很多 , 方便学习 。
2实参和形参
- 实参:调用函数时的参数(传入的具体数值) 。
- 形参:定义函数时的参数(自定义的变量) 。
但是js中可以不一致 , 我们逐一分析:
①实参与形参数量不一致
实参与形参的关系相当于将实参的值赋给形参 。
当实参比形参要少时:a=1;b=2 , 但是c未定义 。
在js中任何数据与未定义的变量相加都是NaN 。
当实参和形参一样或者多时 , 结果没有影响 , 多的实参不参与运算即可 。
②形参和方法体中的变量不一致
如果方法体中的变量要少 , 有几个就用几个 。
如果方法体中的变量要多 , 多了一个形参中没有的变量d , 则无法运行 。
这个Java中倒是有一定的相似之处 。
3参数arguments事实上在js中有一个专门的数组arguments , 用来接收调用时的实际参数:
js中的数组是可变的 , 所以可以使用这种方式来接受 , 当然也可以使用for循环来处理 。
不过要注意的是 , js中可没有增强for循环 。
老实说 , 对于arguments这个概念 , 其实也就相当于是实际参数 , 知道在js中有它的存在即可 。
我个人对于实参和形参的理解 , 就是将实参赋值给形参再参与运算 , 这样方便记忆也好理解 。
4返回值和方法重载
①返回值
js在定义函数时是不用说明返回值的 , 如果有返回值 , 直接return即可 。
②方法(函数)重载
在Java中是有方法重载(同名不同参)
但是在js中是没有方法重载的 。
这也好理解 , 在Java中参数类型不同 , 个数不同即代表不同的参数 。
但是在js中参数类型都没有明确定义 , 所以也没法区分参数不同 , 并且实参个数与形参个数没有关系 。
其中 , js代码是从上到下执行的 , 同名函数 , 后面的函数会覆盖前面的函数 。
5局部变量和全局变量
①函数内测试局部变量
函数内部 , 局部变量和全局变量都可以访问 。
②函数外测试全局变量
在函数外部 , 局部变量是不能被访问的 , 但是全局变量可以访问 。
③另一个script标签
和函数外部一样的道理 , 通过②③我们可以得出结论:变量c是一个全局变量 。
事实上 , 当局部变量省略了var的时候 , 会变成全局变量 。
为什么会这样?画图分析:
也就是说实际上变量c省略了var , 就相当于默认在外部定义了var c , 再在函数内赋值 。
当然其前提是该变量没有在函数内被定义 , 如果变量c在函数内定义过了 , 那它就是个局部变量 。
推荐阅读
- 『EMUI』巧用华为手机EMUI自带功能 5个步骤解决系统频繁“杀后台”问题
- 课工场郑州翔天信鸽|JavaScript最常用,java是主流,JetBrains公布编程语言排名
- 『程序员』程序员多次劝说邻居,不要让孩子去学编程,结果蒙了
- 科技怪人|微信聊天在后台可以看见聊天记录吗?
- java 编程思想:感动哭了!《Java 编程思想》最新中文版开源!(附源码)
- 鲸媒体|Jr计划拓展全球市场,印度少儿编程公司WhiteHat
- [云南]PHP这门编程语言在各大网站使用情况怎么样?
- 【编程】编程语言面临重新洗牌 这六种难道要凉凉?
- 京东■那个自称国产但被扒皮的木兰编程语言已重现世界,我又审视下
- 智能家|荣耀x10怎么关闭多窗口