javascript-函数和定时器

1.函数自执行

JavaScript中不像C#中那样要求所有路径都有返回值,没有返回值就是undefined

(function(){alert(1);}());

(function(){alert(1);})();

!function(){alert(1);}();

void function(){alert(2);}();

2.可变参数

js函数无法像C#方法那样重载 下面的代码等于是对a函数重新定义

function a() {

alert("无参函数");

}

function a(p1) {

alert("一个参数函数");

}

function a(p1,p2) {

alert("两个参数函数");

}

//结果全部是 两个参数函数

a();

a(2);

a(1, 2);

利用arguments内置数组

function css() {

if(arguments.length==2) //取值

{

return arguments[0].style[arguments[1]];

}

else {

arguments[0].style[arguments[1]] = arguments[2]; //赋值

}

}

window.onload = function () {

var oDiv = document.getElementById(‘div1‘);

alert(css(odiv, ‘width‘));

css(odiv, ‘background‘, ‘green‘);

}

3、预解析

//结果弹出undefined

var a = 10;

function A()

{

alert(a); //undefined

var a = 20;

//var a;

//alert(a);

//a=20;

}

A();

//结果20

function Test()

{

function A() {

return 10;

}

alert(A());

function A() {

return 20;

}

}

Test();

开启定时器:

setInterval 间隔性

setTimeout 延时型

停止定时器(根据返回值)

clearInterval()

clearTimeout()

定时器执行函数 参数为 "函数名()" 如果是function(){}会立即且只执行一次

时间: 2024-10-19 15:50:42

javascript-函数和定时器的相关文章

深入理解javascript之高级定时器

setTimeout()和setInterval()可以用来创建定时器,其基本的用法这里就不再做介绍了.这里主要介绍一下javascript的代码队列.在javascript中没有任何代码是立即执行的,一旦进程空闲则尽快执行.所以说定时器中设置的时间并不代表执行时间就一定相符,而是代表代码会在指定时间间隔后加入到队列中进行等待.如果在这个时间点上,队列中没有其他东西,那么这段代码就会被执行,表面上看上去好像代码就在精确指定的时间点上执行了.所以就会产生一些问题. 重复定时器 通常,我们使用set

javascript两种定时器的使用及其清除

<!--示例代码如下:--><!DOCTYPE html> <html> <body> <p>A script on this page starts this clock:</p> <p id="demo"></p> <input type="button" value="停止" onclick="abc()"/> &

简述JavaScript函数节流

为什么要用函数节流 浏览器中某些计算和处理要比其他的昂贵很多.例如,DOM 操作比起非 DOM 交互需要更多的内存和 CPU 时间.连续尝试进行过多的 DOM 相关操作可能会导致浏览器挂起,有时候甚至会崩溃.尤其在 IE 中使用 onresize 事件处理程序的时候容易发生,当调整浏览器大小的时候,该事件会连续触发.在 onresize 事件处理程序内部如果尝试进行 DOM 操作,其高频率的更改可能会让浏览器崩溃.为了绕开这个问题,你可以使用定时器对该函数进行节流. 常见的有:重新调整浏览器窗口

JavaScript事件驱动机制&amp;定时器机制

在浏览器中,事件作为一个极为重要的机制,给予JavaScript响应用户操作与DOM变化的能力:在NodeJS中,异步事件驱动模型则是提高并发能力的 基础. 一.程序如何响应事件 程序响应外部的事件有两种方式: 1. 中断 操作系统处理键盘等硬件输入就是通过中断来进行的,这个方式的好处是即使没有多线程,我们也可以放心地执行我们的代码,CPU收到中断信号之后 自动地转去执行相应的中断处理程序,处理完成后会恢复原来的代码的执行环境继续执行.这种方式需要硬件的支持,一般来说都会被操作系统封装起 来.

javascript中的定时器(How JavaScript Timers Work)

javascript定时器工作原理是一个重要的基础知识点.因为定时器在单线程中工作,它们表现出的行为很直观.我们该如何创建和维护定时器呢?要从如下三个函数(都是定义在全局作用域,在浏览器中就是window的方法)说起: var id=setTimeout(fn,delay);-初始化一个只执行一次的定时器,这个定时器会在指定的时间延迟delay之后调用函数fn,该setTimeout函数返回定时器的唯一id,我们可以通过这个id来取消定时器的执行. var id=setInvertal(fn,d

JavaScript函数使用技巧

JavaScript中的函数是整个语言中最有趣的一部分,它们强大而且灵活.接下来,我们来讨论JavaScript中函数的一些常用技巧: 一.函数绑定 函数绑定是指创建一个函数,可以在特定的this环境中已指定的参数调用另一个函数. var handler = { message: "handled", handleClick: function(event) { console.log(this.message + ":" + event.type); } }; v

javascript函数定义以及常见用法

              我们知道,js函数有多种写法,函数声明 ,函数表达式,Function式构造函数,自执行函数,包括Es6的箭头函数,Class类写法,高阶函数,函数节流/函数防抖,下面我就开始讲关于上面几种类型的最基本用法. 函数声明式写法 这种写法是最基本的写法 ,使用关键字 function 定义函数,函数声明后不会立即执行,会在我们需要的时候调用到.这种函数是全局的,如果有两个同名的声明式函数存在,那么第二个会覆盖第一个. function Test(){ } 有个面试题如下,

ABP展现层——Javascript函数库

ABP展现层——Javascript函数库 点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之21.ABP展现层——Javascript函数库 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate ASP.NET Boil

C#实现百度地图附近搜索&amp;调用JavaScript函数

前一篇文章"C#调用百度地图API入门&解决BMap未定义问题"讲述了如何通过C#调用百度API显示地图,并且如何解决BMap未定义的问题.这篇文章主要更加详细的介绍百度地图的一些功能,包括附近搜索.城市搜索.路线规划.添加覆盖物等等. 希望文章对你有所帮助!如果文章中有不足之处,还请海涵~ 百度官方文档:http://developer.baidu.com/map/jsmobile.htm 官方DEMO例:http://developer.baidu.com/map/jsde

JavaScript函数,作用域以及闭包

JavaScript函数,作用域以及闭包 1. 函数 (1). 函数定义:函数使用function关键字定义,它可以用在函数定义表达式或者函数声明定义. a. 函数的两种定义方式: * function functionName() {} * var functionName = function(){} b. 两种函数定义不同之处 1). 声明提前问题 函数声明语句   :声明与函数体一起提前 函数定义表达式 :声明提前,但是函数体不会提前 请看下面图示:绿色线上面实在js初始加载的时候,查看