声明变量

var

使用var声明变量会将变量的声明提到全局,在局部作用域声明的在全局也能打印

{
var a = 12;
}
// 变量提升 var会将变量的声明提到全局
console.log(a);

let

使用let声明表名我们的块级作用域,在局部作用域声明的在全局打印会报错

{
let a = 12;
}
// 使用let声明表名我们的块级作用域
console.log(a);

const

const声明的变量 只声明常量 一旦声明不可改变,修改后会报错

const b = 13;
b = 14;
console.log(b);

模板字符串``

模板字符串``,如果你想插入变量${变量名}

var name = "yuan", age = 18;
// var str = name + "," + age + "岁了";
var str = `${name},${age}岁了`;
console.log(str);
var url = "http://www.luffycity.com";
$("ul>li").append(
`<a href="${url}"></a>`
);

箭头函数

正常情况下我们定义函数

function add(x,y) {
console.log(x+y)
}
add(2,3);
var add2 = function () {
}

使用箭头函数

var add2 = (a,b)=>{
console.log(a-b)
};
add2(9,2);

字面量方式声明对象

var person = {
name: "日天",
age:18,
fav: ()=> {
// 使用箭头函数会改变this的指向,指向了父级元素
console.log(this)
}
};
person.fav(); // Window

这里可以看到由于使用了箭头函数,这里的this不是指person,而是指向了父级元素,也就是window

对象的单体模式

var person2 = {
name: "ritian",
// fav:function () {
// }
fav(){
console.log(this)
}
};
person2.fav(); // Object {name: "ritian", fav: function}

这里没有使用箭头函数,而是使用了对象的单体模式,这里的this就是对象本身

ES5面向对象相关

对象的三大特性 封装 继承 多态
函数的作用: 封装一块代码,复用,作用域 解决代码的重用性
继承的作用: 特点: 子类继承父类,拥有父类的所有属性和方法,还可以有自己的属性和方法
多态: 代码可重用性 解耦合

es5的构造对象的方式 使用构造函数来创建对象
构造函数唯一的不同 函数名首字母大写

function Animal(name,age) {
// 点语法 set方法和get方法
this.name = name;
this.age = age;
// this.fav = function () {
// }
}
Animal.prototype.showName = function () {
console.log(this.name)
};
var a = new Animal("yuan", 18);
console.log(a.age);
a.showName();

使用prototype的方法给构造函数的父类增加方法(构造函数本身也可以调用)

ES6的面向对象

class Animal{
constructor(name="yuan",age=13){
this.name = name;
this.age = age;
}
showName(){
console.log(this.age)
}
}
var a = new Animal();
a.showName()

constructor相当于初始化方法

ES6基本语法和一些面向对象的知识的更多相关文章

  1. ES6 常用语法知识汇总

    ES6模块化如何使用,开发环境如何打包? 1.模块化的基本语法 /* export 语法 */ // 默认导出 export default { a: '我是默认导出的', } // 单独导出 exp ...

  2. ES6常用语法

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...

  3. ECMAScript简介以及es6新增语法

    ECMAScript简介 ECMAScript与JavaScript的关系 ECMAScript是JavaScript语言的国际化标准,JavaScript是ECMAScript的实现.(前者是后者的 ...

  4. ES6新语法

    ES6新语法概览 简介 ES6是JavaScript语言的新一代标准,加入了一些新的功能和语法,正式发布于2015年6月,亦称ES2015:该标准由ECMA(欧洲计算机制造联合会)的第39号技术专家委 ...

  5. ES6最新语法

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...

  6. ES6新语法之let关键字;有别于传统关键字var的使用

    ES6新语法于2015年发布:而我这个前端小白在17年才接触到.惭愧惭愧!!不过到目前为止,似乎只有FireFox和Chrome对ES6的支持相对良好.不过既然人家ES6已经出来了,还是要跟上技术的潮 ...

  7. JavaScript 面向对象开发知识基础总结

    JavaScript 面向对象开发知识基础总结 最近看了两本书,书中有些内容对自己还是很新的,有些内容是之前自己理解不够深的,所以拿出来总结一下,这两本书的名字如下: JavaScript 面向对象精 ...

  8. Vue(1)- es6的语法、vue的基本语法、vue应用示例,vue基础语法

    一.es6的语法 1.let与var的区别 ES6 新增了let命令,用来声明变量.它的用法类似于var(ES5),但是所声明的变量,只在let命令所在的代码块内有效.如下代码: { let a = ...

  9. Pthon面向对象-补充知识

    Pthon面向对象-补充知识 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.tracemalloc 标准库tracemalloc,可以统计内存使用情况,通过下面的案例可以看出内 ...

随机推荐

  1. 上传绕过WAF的tips大全

    原始默认状态: ——WebKitFormBoundary2smpsxFB3D0KbA7D Content-Disposition: form-data; name=”filepath”; filena ...

  2. Python 入门(一)定义字符串+raw字符串与多行字符串

    定义字符串 前面我们讲解了什么是字符串.字符串可以用''或者""括起来表示. 如果字符串本身包含'怎么办?比如我们要表示字符串 I'm OK ,这时,可以用" " ...

  3. isdigit()

    isdigit() 是字符串的一个方法,用来判断这个字符串是否是纯数字的字符串 In [1]: str = 'hello' In [2]: str.isdigit() Out[2]: False In ...

  4. linux系统socket通信编程实践

    简单介绍并实现了基于UDP(TCP)的windows(UNIX下流程基本一致)下的服务端和客户端的程序,本文继续探讨关于UDP编程的一些细节. 下图是一个简单的UDP客户/服务器模型: 我在这里也实现 ...

  5. NSData 方法

    /****************Immutable Data****************/ @interface NSData : NSObject <NSCopying, NSMutab ...

  6. Mybaits中的update

    <update id="update" parameterType="Currency"> UPDATE YZ_SECURITIES_CURRENC ...

  7. c/c++左值和右值

    C/C++中的变量有左值和右值之分,他们的区别主要如下: (1)左值可以放在赋值号 = 的左右两边,右值只能放在赋值号 = 的右边 (2)在C语言中,有名字的变量即为左值:而函数的运行结果或表达式中间 ...

  8. 英语——'s和s'和s的区别

    举个例子吧,student's 是表示学生的,名词单数形式的所有格students' 是表示学生们的,名词复数形式的所有格students 是表示学生们,名词的复数形式

  9. MyBatis——Java API

    Java API 既然你已经知道如何配置 MyBatis 和创建映射文件,你就已经准备好来提升技能了. MyBatis 的 Java API 就是你收获你所做的努力的地方.正如你即将看到的,和 JDB ...

  10. 去面试H5游戏问的一些问题

    首先肯定是自我介绍,然后问一些基础题,然后问简历上的相关问题. 1. WebSocket和Socket的区别 2.Http和Https的区别,get和post区别 3.进程和线程 4.H5的渲染流程 ...