Javascript备忘复习笔记2

一.函数与形参

1.函数

function abs(x) {
    if (x >= 0) {
        return x;
    } else {
        return -x;
    }
}
alert(abs(-10));

2.匿名函数

var abs = function (x) {
    if (x >= 0) {
        return x;
    } else {
        return -x;
    }
}
alert(abs(-10));

3.argument传入参数

  • 普通函数写法
function abs() {
    if (arguments.length === 0) {
        return 0;
    }
    var x = arguments[0];
    return x >= 0 ? x : -x;
}

abs(); // 0
abs(10); // 10
abs(-9); // 9
  • 匿名函数写法
var abs = function () {
    if (arguments.length === 0) {
        return 0;
    }
    var x = arguments[0];
    return x >= 0 ? x : -x;
}

alert(abs(-10)); // 10

4.任意参数(类似python的def foo(a,*b,**c): pass)

function foo(a, b, ...rest) {
    console.log(‘a = ‘ + a);
    console.log(‘b = ‘ + b);
    console.log(rest);
}

foo(1, 2, 3, 4, 5);
// 结果:
// a = 1
// b = 2
// Array [ 3, 4, 5 ]

foo(1);
// 结果:
// a = 1
// b = undefined
// Array []

二.变量作用域

时间: 2024-11-02 02:25:47

Javascript备忘复习笔记2的相关文章

Javascript备忘复习笔记1

一.字符串操作 1.大小写 var s = "hello"; undefined g = s.toUpperCase(); "HELLO" g; "HELLO" g.toLowerCase(); "hello" 2.索引/截断 s.indexOf('o'); 4 all.js:1 loading comments... var l = "hello world"; undefined l.substring

Javascript备忘模式

使用备忘模式,利用了函数的自定义属性,先看一个例子 var test = function (){} test.myAttr = "attr"; 这样,就给test加上了一个自定义的属性,myAttr. 备忘模式,正式利用了这个方法,将已经运行过的结果存储起来,将函数接受到的参数作为key,将函数运行的结果作为value返回即可.代码如下 var myFunc = function (param) { if(!myFunc.cache[param]){ var result = {};

javascript备忘笔记

1.填充VO的顺序是: 函数的形参 -> 函数申明 -> 变量申明. 首先,就是this值是如何定义的,当一个方法在对象上调用的时候,this就指向到了该对象上,例如: var object = { method: function() { alert(this === object); //true }}object.method(); function a() { alert(this);}a.call(null); 了解一下call()是做什么的,call方法作为一个function执行

JavaScript对象(复习笔记)

js对象 对象构造器 function person(firstname,lastname,age,eyecolor){ this.firstname=firstname; this.lastname=lastname; this.age=age; this.eyecolor=eyecolor; } myFather=new person("John","Doe",50,"blue"); 或者 person={firstname:"Jo

W5500 图片嵌入STM32 FLASH笔记(备忘)

方法一:利用winHex软件将图片转为16进制数组存储在FALSH中 1 __root const char HDMV_HTML[]="<html>" 2 "<head>" 3 "<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />" 4 "<!-- TemplateBeginEditable name='do

Spring AspectJ的Execution表达式-备忘笔记

Aspectj切入点语法定义 在使用spring框架配置AOP的时候,不管是通过XML配置文件还是注解的方式都需要定义pointcut"切入点" 例如定义切入点表达式  execution (* com.sample.service.impl..*.*(..)) execution()是最常用的切点函数,其语法如下所示: 整个表达式可以分为五个部分: 1.execution(): 表达式主体. 2.第一个*号:表示返回类型,*号表示所有的类型. 3.包名:表示需要拦截的包名,后面的两个

MVC5+Easyui1.3.6+EF6 开发部分备忘笔记

一点一点增加,后面继续. 1.Row Editing in DataGrid 编辑,总是绑定不了checkbox的问题 Status第一次的状态,如果是true, 无论如果都绑定不了checkbox,意思是checkbox的勾一直没有打上,手点之后,下一次编辑,就可以打上了.通过firebug,查看到原因: 如果返回的Json是{"productid":"FI-SW-01","productname":"Koi","

Mysql又一次整理笔记--woods备忘

==============================SQL备忘 CRUD 查询 多表 事件等=============================== -------------------------------------------------------------------------------------------------- 一.数据库 1.创建数据库 create database [if not exists] db_name [character set

Mysql重新整理笔记--woods备忘

==============================SQL备忘 CRUD 查询 多表 事件等=============================== -------------------------------------------------------------------------------------------------- 一.数据库 1.创建数据库 create database [if not exists] db_name [character set