一.字符串操作

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(0,5);
"hello"
l.substring(7);
"orld"

二.数组

1.索引/长度

var arr = [1, 2, 3.14, 'Hello', null, true];
undefined
arr.length;
6
arr[2]=99;
99
arr;
[1, 2, 99, "Hello", null, true]

2.切片

arr;
[1, 2, 99, "Hello", null, true]
arr.slice(1,3);
[2, 99]

3.pop/push与shift/unshift(从头删除,从头插入)

arr;
[1, 2, 99, "Hello", null, true]
arr.pop();
true
arr;
[1, 2, 99, "Hello", null]
arr.push(1,"sd");
7
arr;
[1, 2, 99, "Hello", null, 1, "sd"]
arr.unshift('head','sec');
9
arr;
["head", "sec", 1, 2, 99, "Hello", null, 1, "sd"]
arr.shift();
"head"
arr;
["sec", 1, 2, 99, "Hello", null, 1, "sd"]

4.排序/翻转/指定索引删除

var arr = [1, 2, 3.14, 'Hello', null, true];
undefined
arr.sort();
[1, 2, 3.14, "Hello", null, true]
arr.reverse();
[true, null, "Hello", 3.14, 2, 1]
var arr = ['Microsoft', 'Apple', 'Yahoo', 'AOL', 'Excite', 'Oracle'];
undefined
arr.splice(2, 3, 'Google', 'Facebook');
["Yahoo", "AOL", "Excite"]
arr;
["Microsoft", "Apple", "Google", "Facebook", "Oracle"]
arr.splice(2,2);
["Google", "Facebook"]

5.数组的拼接

arr;
["Microsoft", "Apple", "Oracle"]
var lst = ['A','B','C'];
undefined
var lstadd = arr.concat(lst);
undefined
lstadd;
["Microsoft", "Apple", "Oracle", "A", "B", "C"]
lstadd.join('-');
"Microsoft-Apple-Oracle-A-B-C"

6.多维数组

三.对象

var xiaoming = {
name: '小明',
birth: 1990,
school: 'No.1 Middle School',
height: 1.70,
weight: 65,
score: null
};
undefined
xiaoming.name;
"小明"
xiaoming['name'];
"小明"
'name' in xiaoming;
true
xiaoming.hasOwnProperty('name');
true

四.循环

1.数组

var arr = ['Apple', 'Google', 'Microsoft'];
for (var i = 0; i <= arr.length; i++) {
alert(arr[i]);
}

2.列表

var arr = 'sdadda';
for (var i = 0; i <= arr.length; i++) {
alert(arr[i]);
}

3.对象(类似python的dict)

var o = {
name: "jack",
age: 20,
city: 'Beijing'
};
for (var key in o){
alert(o[key]);
}

五.Map/set(Map:类似python的dict)

1.Map取值

var m = new Map([
['Michael', 95], ['Bob', 75], ['Tracy', 85]
]);
alert(m.get('Michael'));

2.Map增/删值

var m = new Map();
m.set('alex',67);
m.set('bob',59);
alert(m.has('bob'));
m.delete('bob');
alert(m.get('alex'));

3.Set(去重,类似python列表的newlst = set(lst))

var s2 = new Set([1, 2, 3]);
undefined
s2;
Set {1, 2, 3}
s2.add(4);
Set {1, 2, 3, 4}
s2.delete(2);
true
s2;
Set {1, 3, 4}
all.js:1 loading comments...
s2.add(4);
Set {1, 3, 4}

六.迭代器(ArrayMapSet都属于iterable类型,用for..of迭代---PS:for..of是对for..in的修复)

1.for..of

var a = ['A','B','C'];
var s = new Set(['A', 'B', 'C']);
var m = new Map([[1,'x'],['name','y'],[3,'z']]); for (var x of a){
alert(x);
}
for (var x of s){
alert(x);
}
for (var x of m){
alert(x[0]+'='+x[1]);
}

2.forEach

//array
var a = ['A', 'B', 'C'];
a.forEach(function (element, index, array) {
// element: 指向当前元素的值
// index: 指向当前索引
// array: 指向Array对象本身
alert(element);
}); //Map
var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
m.forEach(function (value,key,map){
alert(value);
alert(key);
}); //set无索引
var s = new Set(['A', 'B', 'C']);
s.forEach(function (element, set) {
alert(element);
});

Javascript备忘复习笔记1的更多相关文章

  1. Javascript备忘复习笔记2

    一.函数与形参 1.函数 function abs(x) { if (x >= 0) { return x; } else { return -x; } } alert(abs(-10)); 2 ...

  2. Javascript备忘模式

    使用备忘模式,利用了函数的自定义属性,先看一个例子 var test = function (){} test.myAttr = "attr"; 这样,就给test加上了一个自定义 ...

  3. Javascript备忘

    js输出对象类型: Object.prototype.toString.apply(s) 设置单行点击效果: obj.style.background = "#efefef";se ...

  4. Javascript 备忘

    1遍历所有属性 var person={fname:"John",lname:"Doe",age:25}; for (x in person) { txt=tx ...

  5. javascript 备忘 细节 相关

    DOMContentLoaded事件触发时机,即dom tree完成但页面未必渲染完毕.   var a = [1,2,3,4]; var length = a.length; alert((leng ...

  6. JavaScript对象(复习笔记)

    js对象 对象构造器 function person(firstname,lastname,age,eyecolor){ this.firstname=firstname; this.lastname ...

  7. JavaScript基础教程复习笔记

    document.write("<h1>这是一个标题</h1>"); 您只能在 HTML 输出中使用 document.write.如果您在文档加载后使用该 ...

  8. git备忘 & ProGit笔记

    git configgit config  xxxxx   xxxx可以是 --global(使用的是~/.gitconfig)  --system(据说在linux下面使用的是/etc/gitcon ...

  9. [备忘]Asp.net MVC 将服务端Model传递的对象转为客户端javascript对象

    <script type="text/javascript"> var jsObject = @Html.Raw(Json.Encode(Model.Objects)) ...

随机推荐

  1. SDWebImage原理及使用

    这个类库提供一个UIImageView类别以支持加载来自网络的远程图片.具有缓存管理,异步下载,同一个URL下载次数控制和优化等特征. SDWebImage加载图片的流程 入口 setImageWit ...

  2. 【代码笔记】iOS-禁止输入表情符号

    一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...

  3. IOS开发之待探究随录

    设置导航条的问题

  4. 在VC环境下执行代码出现错误

    这是在执行代码过程中出现的错误,源代码在别的电脑上能运行,在自己的VC里运行就出现错误,在网上也搜过解决办法,但还是有点不太理解,是编程环境的问题h还是代码本身也存在问题???

  5. yii2中自定义验证规则rules

    作者:白狼 出处:www.manks.top/article/yii2_custom_rules 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追 ...

  6. 《Hey程序员 你适合加入创业公司吗?》再补充

    笔者经过多年的走访发现,不是所有优秀的程序员都能在创业公司如鱼得水.根据笔者的经验,具备下面几点优秀品质的程序员会更容易适应创业公司的环境. 1.娴熟的调试技巧可以说,程序员的大部分时间都花在调试程序 ...

  7. [转载]DBA的特质第一部分:技术

    本文转自http://www.searchdatabase.com.cn/showcontent_84379.htm 支持原创.尊重原创,分享知识! 在本系列文章中,笔者将谈一谈数据库管理员(DBA) ...

  8. mysql Lock wait timeout exceeded; try restarting transaction

    查看innodb的事务表INNODB_TRX,看下里面是否有正在锁定的事务线程,看看ID是否在show full processlist里面的sleep线程中,如果是,就证明这个线程事务一直没有com ...

  9. 使用axis调用WebService服务端

    由于项目中要调用其他公司的接口,研究了下axis调用webService这种方式,现将代码贴出,以备以后查阅: package com.xbq; import javax.xml.namespace. ...

  10. Oracle视图分类及各种操作讲解(超级好文)

    目录:一.视图的定义: 二.视图的作用: 三.创建视图: 1.权限 2.语法 3.1  创建简单视图   3.2  创建连接视图  3.2.1 连接视图定义  3.2.2 创建连接视图  3.2.3 ...