突然顿悟的Javascript中的this】的更多相关文章

一直对Javascript中的this都有一种似是而非的感觉,今天突然感觉豁然开朗,特此记录一下. 咱们先看个栗子: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>this的使用</title> <script type="text/javascript"> var Car,tesla; Car=functio…
javascript一直是初学者口中的难点,甚至一些有些许工作经验的人也不太明白其中的原理,而我就是那个初学者,前段时间在阮一峰老师的博客上看了一篇文章<javascript继承机制的设计思想>有点顿悟的感觉,那咱们就开始讨论一下吧. 先从普通函数和构造函数来学习 (1)普通函数的形式: function obj () { return 123 ; }obj();//123 普通函数和构造函数的区别是它不用new去调用,可以用return去返回值,函数的内部不建议使用this. (2)构造函数…
今天重新看了一下<javascript高级程序设计>,其中讲到了javascript中的值传递和值引用,所以就自己研读了一下,但是刚开始没有明白函数中的参数只有值传递,有的场景好像参数是以引用的方式传递的,但是实际上却不是,那到底是怎么回事,或者是函数中的传值是值传递还是值引用呢,下面来对书上给出的例子做一个图解,这样能够更好的解释这个问题.有顿悟的感觉.javascript中貌似共有8种数据类型,包括了字符串类型,数值类型,布尔类型,undefined类型,null类型,对象,数组,函数:1…
当我还是一个小白的时候,我翻了很多关于Promise介绍的文档,我一直没能理解所谓解决异步操作的痛点是什么意思 直到我翻了谷歌第一页的所有中文文档我才有所顿悟,其实从他的英文字面意思理解最为简单粗暴 这就是一个承诺,相当于在代码中提供一个在任何时候承诺之后要做什么事的方式,这个承诺可能会兑现也可能无法兑现,当然也可能在兑现的过程中 用这个来替代我们曾经需要写的回调函数,可以避免JavaScript程序中的回调地狱 所以先不去学习的语法,从另一个方式先理解,希望可以帮助你更好的学习或上手Promi…
Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换.排序.合并.迭代等等基本操作. 原文:http://www.cnblogs.com/kelsen/p/4850274.html 创建数组和数组检测 1.使用Array构造函数 创建数组. //创建一个空数组 var cars = new Array(); //创建一个指定长度的数组 var car…
前言 javascript中没有块级作用域(es6以前),javascript中作用域分为函数作用域和全局作用域.并且,大家可以认为全局作用域其实就是Window函数的函数作用域,我们编写的js代码,都存放在Window函数内(这是个假设),也就是说javascript中只有函数作用域(前面假设做前提下). 作用域是什么 作用域是一个盒子,盒子内部的变量只能在当前盒子中使用,作用域盒子是可以嵌套的,内部盒子的变量对父级盒子是不可见的,因为盒子封闭了他们并且盒子不透明,但是盒子可以看到父级盒子内部…
Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Array,RegExp, ... ① string string类型的数据是由16位Unicode字符组成的字符串,用typeof检测其数据类型如下: var str = "Hi, Javascript"; console.log(typeof str); // string 在Javasc…
好久没有写点什么了,根据博主的技术,仍然写一点javascript新手入门文章,接下来我们一起来探讨javascript的操作符. 一.前言 javascript中有许多操作符,但是许多初学者并不理解或曲解他们的用途,本章将会带领初学者们一起来学习一下javascript的几个常用操作符:typeof.in.delete.new. 二.学习目标 1. 深入了解javascript操作符:typeof.in.delete.new的功能及用法. 2. 剖析根本,掌握这些常用的操作符的运用场景,活学活…
这是一篇<数据结构与算法javascript描述>的读书笔记.主要梳理了关于数组的知识.部分内容及源码来自原作. 书中第一章介绍了如何配置javascript运行环境:javascript shell,不过我本人习惯使用sublime,所以直接在sublime中运行的.关于如何在sublime中配置环境请参考: https://my.oschina.net/ximidao/blog/413101#comment-list 强烈建议把所有的代码都撸一遍以上. 1.1   Javascript中对…
网上找了两个经典的例子 var foo = 1; function bar() { if (!foo) { var foo = 10; } alert(foo); } bar(); // 10 var a = 1; function b() { a = 10; return; function a() {} } b(); alert(a);// 1 在JavaScript中,函数.变量的声明都会被提升(hoisting)到该函数或变量所在的scope的顶部.即--JavaScript的变量提升.…