javascript核心概念——new
如果完全没有编程经验的朋友看到这个词会想到什么? 上过幼儿园的都知道new表示 "新的" 的意思。
var a = new Date() 按照字面的意思表示什么? 把一个新的date赋值给了a,a就是一个新的date类型的实例。
理解到这已经差不多了已经初步掌握了js中new的概念。接下来我们看一下MDN对new操作符的定义:
(new operator) 新运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象类型之一
语法格式 new constructor([arguments])
constructor表示一个指定对象实例的类型的函数,前面可以忽略简单的说就是一个构造函数
arguments 可选项,实例化时传入的参数
直接上例子
//这里的this看不懂后面会讲没关系,主要参照上面的语法理解一下
function Peron(){
this.name="zhangsan";
this.age = "110";
}
var xiaoming = new Person(); //person是英文中代表人,根据上面所学的,一个名为小明的新的人被创建出来了,是人的实例化。
alert(xiaoming.name)//zhangsan 既然是由"人-person"创建出来的那么总要有人的特征,这里构造函数Person定义了两个属性 name age
alert(xiaoming.age)//110
//上面没有传参数,改写一下有参数的
function Person(name,age){
this.name = name;
this.age = age;
}
var xiaoming = new Person("lisi","45");
alert(xiaoming.name);
alert(xiaoming.age);
var xiaoming = new Person 当new Person()执行的时候 new到底做了什么?请注意:执行!执行!执行!
1 一个新的对象被创建并且继承自构造函数的prototype
2 构造函数被执行,参数被传入(如果有的话) 同时上下文环境会被指向这个新对象(新实例) 当然了this也被指向了这个新实例
3 初始化新实例,当构造函数执行完毕的时候显式的返回。
4 正常情况如123的步骤执行,但是如果构造函数一旦return了一个对象,那么那么这个对象会取代整个new出来的结果。
未完待续。不断修订完善中
javascript核心概念——new的更多相关文章
- 《JavaScript核心概念》基础部分重点摘录
注:<JavaScript核心概念>适合深入了解JavaScript,比我买的<JavaScript框架设计>语言和内容丰富多了(可能是我水平尚浅吧). 1. 作用域 var ...
- javascript 核心概念(1)-数据类型
语法 (1)到现在为止,大多数浏览器也还是支持到ECMAScript 第三版的标准. 核心概念就是一个语言的基本工作原理,涉及语法,操作符,数据类型. (2)javascript的一切--变量,函数名 ...
- javascript核心概念之——数组
在javascript中数组就是一个可以存放任何类型的集合.存储在数组中的值用逗号分隔 var arr = ["hello",7,null,undifined,obj,undifi ...
- 掌握 javascript 核心概念 最好的教程 系列 之一
链接 新链接 函数优先, 在扫描创建变量阶段, 会先收集函数, 如果前面有同名函数或者变量, 这个新函数会覆盖前面同名的: 而如果这时候是变量, 则不能去覆盖前面已有的值. function test ...
- Javascript本质第一篇:核心概念
很多人在使用Javascript之前都至少使用过C++.C#或Java,面向对象的编程思想已经根深蒂固,恰好Javascript在语法上借鉴了Java,虽然方便了Javascript的入门,但要深入理 ...
- 学习 JavaScript (四)核心概念:操作符
JavaScript 的核心概念主要由语法.变量.数据类型.操作符.语句.函数组成,前面三个上一篇文章已经讲解完了.后面三个内容超级多,这篇文章主要讲解的是操作符. 操作符 什么叫做操作符? 这是一种 ...
- 学习 JavaScript (三)核心概念:语法、变量、数据类型
JavaScript 的核心概念主要由语法.变量.数据类型.操作符.语句.函数组成,这篇文章主要讲解的是前面三个,后面三个下一篇文章再讲解. 01 语法 熟悉 JavaScript 历史的人应该都知道 ...
- [程序设计语言]-[核心概念]-02:名字、作用域和约束(Bindings)
本系列导航 本系列其他文章目录请戳这里. 1.名字.约束时间(Binding Time) 在本篇博文开始前先介绍两个约定:第一个是“对象”,除非在介绍面向对象语言时,本系列中出现的对象均是指任何可以有 ...
- ElasticSearch学习笔记-01 简介、安装、配置与核心概念
一.简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进 ...
随机推荐
- 每天一个Linux命令(06)--rmdir命令
终于忙完了公司的事,可以安静的充充电了. 今天学习一下Linux中命令:rmdir 命令,rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的.(注意,rm -r dir 命 ...
- nginx内置全局变量
nginx内置全局变量 $args 请求中的参数; $binary_remote_addr 远程地址的二进制表示 $body_bytes_sent 已发送的消 ...
- 玩转 iOS 10 推送 —— UserNotifications Framework(合集)
iOS 10 came 在今年 6月14号 苹果开发者大会 WWDC 2016 之后,笔者赶紧就去 apple 的开发者网站下载了最新的 Xcode 8 beta 和 iOS 10 beta,然后在自 ...
- JS组件系列——又一款MVVM组件:Vue(二:构建自己的Vue组件)
前言:转眼距离上篇 JS组件系列——又一款MVVM组件:Vue(一:30分钟搞定前端增删改查) 已有好几个月了,今天打算将它捡起来,发现好久不用,Vue相关技术点都生疏不少.经过这几个月的时间,Vue ...
- Struts2框架(8)---Struts2的输入校验
Struts2的输入校验 在我们项目实际开发中在数据校验时,分为两种,一种是前端校验,一种是服务器校验: 客户端校验:主要是通过jsp写js脚本,它的优点很明显,就是输入错误的话提醒比较及时,能够减轻 ...
- 变量 || 基本数据类型 || if、while语句
变量名:只能由数字.字母.下划线组成且不能以数字开头:变量名不可以是python内部的关键字 基本数据类型:数字.字符串.布尔值(True/False) [if条件语句] if 条件: ...
- node删除当前文件底下全部文件的正确姿势
今天在项目上犯了一个很愚蠢的错误 执行如下,结果删除掉了项目根目录底下的所有配置文件,导致本地虚拟机挂掉,这次多一个/的给我教训真是莫大的...哎 正确的姿势为:
- 3-15 JS基础知识02
一.For循环: For (var i = 0; i <= 10; i++){ 循环体: } 注意:For循环中的表达式是可以省略的,省略以后是个死循环. odd:奇数 even : 偶 ...
- Visual Studio 2015/2017 与ASP.NET CORE 联合创建具有SPA模式的Angular2模板
虽然注册博客园很久,但是一直没有什么可写的,真心感觉好尴尬了,这次终于找到了一点可以写,有点小兴奋和小害羞呢. 进入主题,前端SPA模式越来越受到欢迎,Core 也开始被很多企业提上日程,但是因为这个 ...
- Ubuntu 16.04安装DB2 Express C v11.1
欢迎和大家交流技术相关问题:邮箱: jiangxinnju@163.com博客园地址: http://www.cnblogs.com/jiangxinnjuGitHub地址: https://gith ...