JS&ES6

1 数据类型:

  • 数字:整数、浮点数
  • 字符串: 单引号、双引号
  • 布尔型: true、false
  • null型: null
  • undefined 型:undefined

1.5 变量作用范围:

js默认情况下,变量以函数为范围。
变量加 var 与 不加 var的区别:前者是局部变量,后者是全局变量。

1.9 常量:

常量一旦赋值,就不能再修改的量。

    const varName;
function test(){
    var foo = null;
    console.info(foo);
    foo1 = '张三';
    console.info(foo1);
    const PI = 3.14159263;
    console.info(PI)
}

2 函数:

  • 函数定义赋值传址格式
    function funName(){}
    var varName = funName
    var varName = function(){ }
function sum(a,b){
    return a + b;
}
var a = sum(1,2);
b = sum;
document.write(b(1,2));
var s = function(a,b) {
    return a + b;
}
document.write(s(3,4))
  • 闭包:
    函数嵌套函数。内部的函数,可以使用外部函数的变量。
function outter(){
    var a = "outter"
    function inner(){
        a = "inner"
        console.info(a)
    }
    console.info("------" + a)
    return inner;
}
console.info(outter()())

3 数组

  • 一组数据的列表
    var arr = []
var arr = array(14,5,2)

3.5

JS中,一切皆对象。

4 正则表达式对象:

test() 方法是一个正则表达式方法。
test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。

以下实例用于搜索字符串中电话号码:

var reg = /^1\d{10}$/
 */
var name = "zhang san";
console.info(name.length)
var reg = /^1\d{10}$/i
console.info(reg.test("18222203832"))

4.5

字符类型判断语句

var a = 20;
// NaN
console.info(isNaN(20 / 'ewe'))
console.info(typeof a)

5

顺序 、 分支 、 循环

  • 比较大小
    三目表达式 expr ? expr1 : expr2
var a = 50;
var b = 20;
var c = 30;
var max = -Infinity;
if (a > b) {
    max = a;
} else {
    max = b;
}
if(max < c){
    max = c;
}

console.info(max)
// 三目表达式   expr ?  expr1 : expr2
// max1 = a > b ? a : b;
max1 = (a > b ? a : b) > c ? (a > b ? a : b) : c;
console.info(max1)
  • a++ 先使用,再加1 ++a ,先加1,再使用, a-- \ --a类似
var a = 0;

var b = ++a + 3;
console.info(b)
console.info(a)
  • switch语句,注意有必要使用break
a = 1;
switch (a){
    case 1:
        console.info("11111");
        break;
    case 2:
        console.info("222222");
        break;
    case 3:
        console.info("333333");
        break;
    default:
        console.info("default");
}
  • for循环 跟c++一样,不一样的是可以使用for in,例如输出数组
//循环 for  in
var arr = [1,2,3,4,5,6,7]
for(i in arr){
    console.info(arr[i])
}
// for 循环
for (var i = 0; i < arr.length; i++) {
    console.info(arr[i])
}
  • while 循环
var i = 0;
while(i < arr.length){
    console.info(arr[i])
    i++;
}

//do...while 循环,do...while循环,循环体最少执行一遍。
var i = 0;
do {
    console.info(arr[i])
    i++;
} while(i < arr.length);
  • break 跳出循环; continue:跳过本次循环;
for(var i = 0; i <10000;i++) {
    if (i % 2 == 0) {
        continue;
    }

    // console.info(i)
}
/**
 *  1 * 1 = 1
    1 * 2 = 2   2 * 2 = 4
    1 * 3 = 3   2 * 3 = 6   3 * 3 = 9
 */
 document.write("<div></div>")
for(var i = 1; i <= 9; i++) {
    for(var j = 1; j <= i; j++){
        document.write(j + " * " + i + " = " + (i * j) + "&nbsp;&nbsp;&nbsp;&nbsp;");
    }
    document.write("<br />")
}

6面向对象;单例


  • JavaScript是一种基于原型的语言,它没类的声明语句,比如C+ +或Java中用的。这有时会对习惯使用有类申明语句语言的程序员产生困扰。相反,JavaScript可用方法作类。定义一个类跟定义一个函数一样简单。在下面的例子中,我们定义了一个新类Person。
function Person() { } 
// 或
var Person = function(){ }
  • 对象(类的实例)
    我们使用 new obj 创建对象 obj 的新实例, 将结果(obj 类型)赋值给一个变量方便稍后调用。
    在下面的示例中,我们定义了一个名为Person的类,然后我们创建了两个Person的实例(person1 and person2).
function Person() { }
var person1 = new Person();
var person2 = new Person();
  • this. 方法的调用者
var student = {
    name:"张三",
    age:29,
    sayHello:function(){
        //this.方法的调用者
        console.info(this.name)
    }
}

student.sayHello();
console.info(student.age)
var a = 'age';
console.info(student[a])

7对象:原型链

  • 原型及原型链
    实例对象寻找原型,原型寻找构造函数,找不到原型再找原型的原型
// 原型
function Student(name,age){
    this.name = name;
    this.age = age;
}

Student.prototype.sayHello = function() {
    console.info(this.name + "说: Hello!")
};

var s1 = new Student("盖伦",100);
s1.sayHello();
var s2 = new Student("盖伦2",100);
console.info(s1);
console.info(s2);

function Person(name,age){
    this.name = name;
    this.age = age;
}
Person.prototype.shuo = function(){
    console.info("Hello world")
}

function User(uname) {
    this.uname = uname;
}
User.prototype = new Person()

var u = new User('admin')
u['name'] = '3213223'
console.info(u['name'])
u.shuo();

8 ES6

  • 1、箭头函数:函数内容=>函数体
// function(v) {
//  return v + 2;
// }
var a = (v,h) => v + h;
console.info(a(5,6));
class Person123 {
    constructor(name){
        this.name = name;
    }
}
  • 3、 继承
class User1 extends Person123{
}

9 模板字符串

var name = "张三";
var age = 20;
var introduce = `
    my name is ${name}, my age is ${age}
`;

console.info(introduce)

//lib/math.js
export function sum(x,y){
    return x + y;
}

//app.js
 import {sum} from "lib/math.js"
 sum()
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,992评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,212评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,535评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,197评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,310评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,383评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,409评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,191评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,621评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,910评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,084评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,763评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,403评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,083评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,318评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,946评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,967评论 2 351

推荐阅读更多精彩内容