从零开始的全栈工程师——JS面向对象(复习)
作用域
栈内存:js执行的环境
堆内存:存放代码块的空间 存放方式 键值对形式存放 字符串的形式存放
js在执行之前 浏览器会给他一个全局作用域叫window 每个作用域下都分为两个模块 一个是内存模块一个是执行模块
内存模块会给所有的变量一个内存地址 变量的声明在js中靠关键字 var 和 function
1.什么时候会有作用域的形成:
①浏览器天生有一个全局叫window
②函数执行的时候会形成一个私有的
js在执行之前 浏览器会给他一个全局作用域 叫window 在window下分两个模块 一个是内存 一个是执行
内存会找到所有的关键字 var 和 function 对变量进行提前声明 这个功能叫变量提升 给每个变量分配一个内存地址
在执行模块遇到变量首先会在自己的作用域下通过内存地址去查找这个变量是否存在 如果有 就直接操作 没有
就向他的上一级作用域的内存模块查找 有就操作 没有就继续向上查找 直到widnow 这种查找机制叫作用域链
2.变量名冲突:
console.log(a) // f a
var a = 1;
console.log(a) // 1
function a () {alert(2)}
console.log(a) // 1
var a = 3;
console.log(a) //3
function a () {alert(4)}
console.log(a) //3
a() // a is not function
赋值运算
赋值运算 就是把后面的数据赋值给等号前面的变量 后面的数据分两种情况
①基本数据类型:number string Boolean null undefined 直接将数据赋值给前面的变量
②引用数据类型:array object function 将内存地址赋值给前面的变量
object 和 json二者的区别
①长得一样 都是以键值对形式书写
②object的键可以不加引号 但是 json必须加
③object是前端的数据类型 json是数据库存放的数据格式
如果跟后台交互的时候键不加引号会报一堆错 书写格式不对
obj = {name:"张三"}<--前端的数据类型 json = {"name":"张三"}<--你跟后台交互用他
object对象
1.对象的定义方式
①字面量定义 var obj = {name:"张三"}
②类的实例 var obj = new Object{} obj.name = "张三"
2.类 类的本质是function
①类的阶梯
3.类和实例的关系
①每个类 ( 函数 ) 都有prototype的属性 这个属性是一个对象 里面有一个constructor的属性 属性值就是这个类本身
②每个实例 ( 对象 ) 都有一个__proto__的属性 这个属性也是一个对象 他指向当前类的原型
③prototype 和 __proto__ 二者都叫原型 前者是存放属性的对象 后者是用来查找属性的 前者给开发者使用 后者浏览器会自动查找
从零开始的全栈工程师——JS面向对象(复习)的更多相关文章
- 从零开始的全栈工程师——JS面向对象(初篇)
面向对象编程 面向对象编程是用抽象方式创建基于现实世界模型的一种编程模式.它使用先前建立的范例,包括模块化,多态和封装几种技术.今天,许多流行的编程语言(如Java,JavaScript,C#,C+ ...
- 从零开始的全栈工程师——JS面向对象( 六大继承 )
一.对象克隆 var obj = { name:'li', age:23 } var obj2 = obj; // 这不是对象克隆 只是把obj的内存地址给obj2 1.for in克隆(浅拷贝) ...
- 从零开始的全栈工程师——JS面向对象( 原型 this 继承)
一.生成对象的方式 ①单例模式(字面量定义)var obj = {} ②类的实例 var obj = new Object( ) ③工厂模式 ④构造函数:扮演三种角色 普通函数 普通对象 类 工厂模式 ...
- 从零开始的全栈工程师——js篇2.12(面向对象)
面向对象 Js一开始就是写网页特效,面向过程的,作者发现这样写不好,代码重复利用率太高,计算机内存消耗太大,网页性能很差. 所以作者就收到java和c的影响,往面向对象靠齐.Js天生有一个Object ...
- 从零开始的全栈工程师——js篇2.20(事件对象 冒泡与捕获)
一.复习 面向对象 1)单例模式 2)工厂模式 3)构造函数 ①类js天生自带的类 基类object function array number math boolean date regexp st ...
- 从零开始的全栈工程师——js篇2.5
数据类型与全局属性 js的本质就是处理数据 数据来自于后台的数据库所以变量就起到一个临时存储数据的这作用ECMAscirpt 制定了js的数据类型 一.数据类型 1.基本数据类型 基本数据类型就是简单 ...
- 从零开始的全栈工程师——js篇2.1(js开篇)
JS开篇 一.js介绍 全称 javascript 但不是java 他是一门前台语言 而java是后台语言js作者 布兰登·艾奇 前台语言:运行在客户端的后台语言:跟数据库有关的 能干什么? 页 ...
- 从零开始的全栈工程师——js篇(闭包)
闭包是js中的一大特色,也是一大难点.简单来说,所谓闭包就是说,一个函数能够访问其函数外部作用域中的变量. 闭包的三大特点为: 1.函数嵌套函数 2.内部函数可以访问外部函数的变量 3.参数和变量不会 ...
- 从零开始的全栈工程师——js篇(js的异步)
js中的异步 Javascript语言的执行环境是"单线程"(single thread,就是指一次只能完成一件任务.如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任 ...
随机推荐
- Java_Ant详解(转载)
Java_Ant详解 1,什么是antant是构建工具2,什么是构建概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个3,ant ...
- 伪元素改变date类型input框的默认样式实例页面
CSS代码: ::-webkit-datetime-edit { padding: 1px; background: url(/study/image/selection.gif); } ::-web ...
- 5.js与jQuery入口函数执行时机
js与jQuery入口函数执行时机区别: JS入口函数是在所有资源加载完成后,才执行.(包括:页面.外部js文件.外部css文件.图片) jQuery入口函数,是在文档加载完成后就执行.文档加载完成指 ...
- win7关闭关机时的自动终止的功能
gpedit.msc->计算器配置->管理模板->系统->关机选项->启用 参考: http://www.xitongcheng.com/jiaocheng/win7_a ...
- 20165224 陆艺杰 Exp4 恶意代码分析
Exp4 恶意代码分析 1实验后回答问题 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. 计划任务每段 ...
- String Reduction问题分析
问题描述: Given a string consisting of a,b and c's, we can perform the following operation: Take any two ...
- win10系统常用操作
1.打开控制面板 (1)选中“此电脑”,右键选择“属性”. (2)可见 控制面板主页 2.设置环境变量和系统变量 (1)选中“此电脑”,右键选择“属性”. (2)可见 控制面板主页 (3)点击高级系统 ...
- BZOJ3065 带插入区间K小值 || 洛谷P4278
这是一道让我崩溃的题...... 然鹅洛谷上时限被改然后只有20分......好像所有人都被卡了(雾) 由于替罪羊树不是依靠旋转操作而是依靠暴力重构的方式维护树的平衡,所以我们可以考虑使用替罪羊树套区 ...
- hdu3966 Aragorn's Story 树链剖分
题目传送门 题目大意: 有n个兵营形成一棵树,给出q次操作,每一次操作可以使两个兵营之间的所有兵营的人数增加或者减少同一个数目,每次查询输出某一个兵营的人数. 思路: 树链剖分模板题,讲一下树链剖分过 ...
- 详解SimpleXML添加_修改_删除_遍历XML节点属性
SimpleXML概述 要处理XML 文件,有两种传统的处理思路:SAX 和DOM.SAX 基于事件触发机制,对XML 文件进行一次扫描,完成要进行的处理:DOM 则将整个XML 文件构造为一棵DOM ...