ES6基本语法和一些面向对象的知识
声明变量
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基本语法和一些面向对象的知识的更多相关文章
- ES6 常用语法知识汇总
ES6模块化如何使用,开发环境如何打包? 1.模块化的基本语法 /* export 语法 */ // 默认导出 export default { a: '我是默认导出的', } // 单独导出 exp ...
- ES6常用语法
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...
- ECMAScript简介以及es6新增语法
ECMAScript简介 ECMAScript与JavaScript的关系 ECMAScript是JavaScript语言的国际化标准,JavaScript是ECMAScript的实现.(前者是后者的 ...
- ES6新语法
ES6新语法概览 简介 ES6是JavaScript语言的新一代标准,加入了一些新的功能和语法,正式发布于2015年6月,亦称ES2015:该标准由ECMA(欧洲计算机制造联合会)的第39号技术专家委 ...
- ES6最新语法
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...
- ES6新语法之let关键字;有别于传统关键字var的使用
ES6新语法于2015年发布:而我这个前端小白在17年才接触到.惭愧惭愧!!不过到目前为止,似乎只有FireFox和Chrome对ES6的支持相对良好.不过既然人家ES6已经出来了,还是要跟上技术的潮 ...
- JavaScript 面向对象开发知识基础总结
JavaScript 面向对象开发知识基础总结 最近看了两本书,书中有些内容对自己还是很新的,有些内容是之前自己理解不够深的,所以拿出来总结一下,这两本书的名字如下: JavaScript 面向对象精 ...
- Vue(1)- es6的语法、vue的基本语法、vue应用示例,vue基础语法
一.es6的语法 1.let与var的区别 ES6 新增了let命令,用来声明变量.它的用法类似于var(ES5),但是所声明的变量,只在let命令所在的代码块内有效.如下代码: { let a = ...
- Pthon面向对象-补充知识
Pthon面向对象-补充知识 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.tracemalloc 标准库tracemalloc,可以统计内存使用情况,通过下面的案例可以看出内 ...
随机推荐
- wm_concat函数 用法
首先让我们来看看这个神奇的函数wm_concat(列名),该函数可以把列值以","号分隔起来,并显示成一行,接下来上例子,看看这个神奇的函数如何应用 准备测试数据 SQL> ...
- Linux上运行Jmeter
上传jmeter到Linux服务器 unzip解压 配置环境变量vi /etc/profile: export PATH=/tmp/apache-jmeter-3.0/bin/:$PATH 刷新环境变 ...
- mac 环境配置
安装homebrew 用于安装各种软件 eg:brew search qq 查看qq安装目录 brew install 复制刚刚查看到的目录安装qq 安装 oh my zsh 自动补全目录跳转 1.安 ...
- ArcGIS Javascript 图层事件绑定
1.使用Dojo---Connect Style Event dojo.connect(XXXGraphicsLayer, "onClick", function(evt) { / ...
- shell基础篇(十)shell脚本的包含
前记 写到这里:shell中基础差不多已经讲完了.希望你已经对shell有了一个基本了解.你可能跃跃欲试,要写一些程序练习一下.这会对你很有好处.建议大家去chinaunix去学习:我是li0924. ...
- eclipse中debug模式不能启动运行,run运行模式却能启动运行!
这个问题我郁闷了好久!问题原因:因为断点太多了,断点冲突了. 解决办法:只要进如deug界面,选择BreakPoints选项,然后清除所有断点,再重新debug启动.问题解决! 希望能帮到遇到此问题的 ...
- org.apache.activemq.transport.InactivityIOException: Cannot send, channel has already failed
项目是使用activeMQ 发布订阅的模式,在本地测试正常,但是 放到服务器上出现这个错误: org.apache.activemq.transport.InactivityIOException: ...
- js中如何删除json对象的某一个选项
我有一个这样一个对象,getData, 但是我不想要每一项的id,那怎么去删除呢(使用delete)? getData.map((item) =>{ delete item["id&q ...
- phpsession配置
1. 介绍 1.1 作用: 主要用于服务器端的会话保持. 1.2 结构: Session分以下几部分: 1)Session id 用户Session的唯一标识(随机生成,具有唯一性,随机性) 2)Se ...
- JQuery自定义用户控件方法汇总
首先必用 JQuery.fn.extend方法 使用方法: jQuery.fn.extend({}); 其次 相应控件配置参数设置: jQuery.fn.extend({ uploadPreview: ...