JavaScript函数“生僻”知澳门金沙网站开发识点详解

写在澳门金沙网站开发haozbbs.comQ1446595067前面:js函数中有很多“生僻”的点,一不注意就容易出错,下面是我自己总结的一些知识点。

1.多个同名函数生成时会覆盖,所以在调用三个同名show函数时系统会自动调用第三个。在传参数过程中,如果传空值则被定义为undefined,undefined+undefined所得值为NaN。

function show(){console.log(1);}

function show(a){console.log(a);}

function show(a,b){console.log(a+b);}

show();//NaN

show(10);//NaN

console.log(typeof show());//NaN undefined

2.undefined和null

undefined表示变量声明但未初始化时的值,
null表示准备用来保存对象,还没有真正保存对象的值。从逻辑角度看,null值表示一个空对象指针。

JavaScript(ECMAScript标准)里共有5种基本类型:Undefined, Null, Boolean, Number, String,和一种复杂类型Object。可以看到null和undefined分属不同的类型,未初始化定义的值用typeof检测出来是"undefined"(字符串),而null值用typeof检测出来是"object"(字符串)。

任何时候都不建议显式的设置一个变量为undefined,但是如果保存对象的变量还没有真正保存对象,应该设置成null。
实际上,undefined值是派生自null值的,ECMAScript标准规定对二者进行相等性测试要返回true,即

alert(null==undefined); // true

3.当变量名和函数名一样时会出错

var a=10;

function a(){console.log(a)};

a();//error

(function b(){console.log(b);})();//输出函数b

var c=10;

(function c(){console.log(c);})();//输出函数c

console.log(c);//输出10

4.输出函数调用时,有返回值输出返回值,没有返回值输出undefined

function show(){

console.log(‘哈哈‘);

return 5*10;

}

function show1(){

console.log(‘嘿嘿‘);

}

console.log(show());//哈哈 50

console.log(show1());//嘿嘿 undefined

5.setTimeout和setInterval区别

而setInterval(表达式,交互时间)则不一样,它从载入后,每隔指定的时间就执行一次表达式。

很多人习惯于将setTimeout包含于被执行函数中来达到定时执行的目的使用setInterval,需要手动的停止触发。而使用方法中嵌

套setTimeout,可以根据方法内部本身的逻辑不再调用setTimeout就等于停止了触发。

其实两个东西完全可以相互模拟,具体使用那个,看当时的需要而定了。就像for可以模拟所有的循环包括分支,而还提供了do...while一样。

setInterval("myFunction()",60000);//每秒执行myFunction()一次

setTimeout("myFunction()",1000); //等待1秒后执行myFunction()一次,要达到循环需要函数触发

原文地址:http://blog.51cto.com/13859992/2139312

时间: 2024-10-08 21:24:43

JavaScript函数“生僻”知澳门金沙网站开发识点详解的相关文章

JavaScript 开发规范要求详解

作为一名开发人员(We前端JavaScript开发),不规范的开发不仅使日后代码维护变的困难,同时也不利于团队的合作,通常还会带来代码安全以及执行效率上的问题.本人在开发工作中就曾与不按规范来开发的同事合作过,与他合作就不能用"愉快"来形容了.现在本人撰写此文的目的除了与大家分享一点点经验外,更多的是希望对未来的合作伙伴能够起到一定的借鉴作用.当然,如果我说的有不科学的地方还希望各路前辈多多指教.下面分条目列出各种规范要求,这些要求都是针对同事编码毛病提出来的,好些行业约定的其它规范可

Android 开发 之 Fragment 详解

作者 : 韩曙亮 转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/38064191 1. Fragement 概述 Fragement 与 Activity 生命周期关系 : Fragement 嵌入到 Activity 组件中才可以使用, 其生命周期与 Activity 生命周期相关. -- stop 与 destroy 状态 : Activity 暂停 或者 销毁的时候, 其内部嵌入的所有的 Fragement 也会执行

Android开发之异步详解(二)之AsyncTask

请尊重他人的劳动成果,转载请注明出处:Android开发之异步详解(二)之AsyncTask http://blog.csdn.net/fengyuzhengfan/article/details/40212745 我曾在<Android开发之异步详解(一)之Thread+Handler>一文中介绍过通过Thread+Handler实现异步操作.感兴趣的朋友可以看一下. 虽然Thread+Handler可以实现更新主线程的UI并实现异步,但Thread+Handler模式需要为每一个任务创建一

Android开发之异步详解(一)Thread+Handler

请尊重他人的劳动成果,转载请注明出处:  Android开发之异步详解(一)Thread+Handler http://blog.csdn.net/fengyuzhengfan/article/details/40211589 在Android实际开发工程中经常会进行一些诸如:文件读写.访问网络等耗时的操作,这些耗时的操作是不建议放到UI线程里的.所以我们会新开一个线程,在子线程中进行这些耗时的操作,耗时操作过程中,UI经常需要更新,但Android是不允许在子线程中修改UI的.所以就出现了Th

javascript和html中unicode编码和字符转义的详解

原文:http://ulhoo.com/blog/?p=285 1.html中的转义:在html中如果遇到转义字符(如" "),不管你的页面字符编码是utf-8亦或者是GB2312,都会直接打印成相应的字符:而当遇到(如:"\u8981"[此处的8981是16进制值])时,则不会打印成相应字符. /* *html标记的转义 *@example *<p>Hello World!</p> * ||等价于 *<p>Hello World

嵌入式开发平台 迅为6818开发板接口详解

迅为八核iTOP-6818开发板接口详解: iTOP-4418接口图: iTOP-6818核心板: iTOP-6818开发板接口详解: 1.POWER电源接口 电源输入为5V/2A+,给核心板AXP228电源管理芯片提供5V电源,给底板供电. 2. SWITCH电源开关 轻触电源开关可以控制开发板电源通断. 3. 拨码开关 3位拨码开关控制4418启动模式. 4. 模数转换 A/D模数转换,调整滑动变阻器,模拟量可以通过转换口检测到. 5. JTAG接口 保留JTAG接口,有需要的用户可以进行扩

网站页面静态化详解

URL静态化 静态化一直以来都是最基本的seo要求之一,但近一两年seo行业对是否一定要做静态化有了一些观念上的改变. 为什么静态化 现在的网站绝大多数是数据库驱动,页面由程序实时生成,而不是其的在服务器上有一个静态html文件存在.当用户访问一个网址时,程序根据url中的参数调用数据库数据,实时生成页面内容.因此动态页面相对应的url原始状态也是动态的,包含问号.等号及参数,如下面这种典型论坛的url: 3w点website点com/viewthread.php?tid=1234&&pa

豹哥嵌入式讲堂:ARM Cortex-M开发之文件详解(8)- 镜像文件(.bin/.hex/.s19)

大家好,我是豹哥,猎豹的豹,犀利哥的哥.今天豹哥给大家讲的是嵌入式开发里的image文件(.bin, .hex, .s19). 今天这节课是豹哥<ARM Cortex-M开发之文件详解>主题系列的最后一节课(突然有点不舍,要告别的感觉,咳咳,让豹哥整理下情绪先).今天豹哥主要讲的是工程开发最终的output文件,即image文件.image文件也叫镜像文件,这个文件主要包含的是只有芯片能够解释执行的二进制机器码数据,这些数据其实在前面介绍的relocatable.list.executable

新书《Nginx实战:基于Lua语言的配置、开发与架构详解》开始发售

新书<Nginx实战:基于Lua语言的配置.开发与架构详解>开始发售https://item.jd.com/12487157.html#none <Nginx实战:基于Lua语言的配置.开发与架构详解>主要讲解了Nginx在反向代理和应用开发中的作用,阅读本书可以了解Nginx在互联网开发中扮演的多个角色,充分利用这些角色的各项功能有助于提升服务的整体性能.<Nginx实战:基于Lua语言的配置.开发与架构详解>所介绍的大部分功能是通过Nginx+Lua进行开发和配置的