js 函数 理解

JS函数不仅仅是一个函数, 因为其数据结构的独特性, 函数可以属性 函数 或者一个类
-------------
函数:

--- 一个属性

--- 一个函数

--- 一个类

=================================

draw: function(obj, time) {}

draw是一个对象的属性,可以用obj.draw(obj, time)的 方法调用函数

===

js中的单例

这个对象代表单例,即单一的实例,不能创建重复实例。

var car = {

color:‘red‘,

draw:function()={

alert(‘red car‘); }

}

===

js中的类近似于类

(2)“类”意义的对象

表示这是个类型,此时的Car通过new的构造函数创建一个个实例,每个实例单独分配一个内存空间。

function Car(color){

this.color=color;

this.draw=function(){

alert(this.color); }

}

使用: var car1 = new Car(‘red‘); car1.color=‘blue‘;car1.draw();

===

时间: 2024-08-29 16:02:11

js 函数 理解的相关文章

JS函数传参理解

我的理解:js函数传递的参数如果是对象,那么他复制的值是地址.于是person的地址复制给了obj,obj.name='Nicholas'就修改了person.name.之后obj又指向了新地址,此时的obj.name和person毫无关系.所以最后的结果person.name='Nicholas';

Js函数function基础理解

正文:我们知道,在js中,函数实际上是一个对象,每个函数都是Function类型的实例,并且都与其他引用类型一样具有属性和方法.因此,函数名实际上是指向函数对象的指针,不与某个函数绑定.在常见的两种定义方式(见下文)之外,还有一种定义的方式能更直观的体现出这个概念: var sum = new Function("num1", "num2", "return num1 + num2"); //不推荐 Function的构造函数可以接收任意数量的参

通过原型链解析js函数一些难以理解的的作用域问题

基本原理 js函数在执行时,系统会创建一个隐式的属性scope,scope中存储的是函数的作用域链. 通过对这个scope的分析,就能解释JavaScript中许多难以理解的问题: 例1: function demo(){} demo(); scope属性是在函数执行时创建,如果这个函数是一个全局函数,他的scope里会保存一个Global object和一个activation object. global object保存的是全局的信息,而activition object保存的是函数内部的

js函数中的this关键字

关于这个this关键字,也是很多项目中常常被用到的,那么,有人也许会问,干嘛要用this呢,在函数被调用时,直接指明是什么对象在调用不就行了?还整那么个模模糊糊的概念出来干嘛?不过嘛,存在即真理,既然有这么个东西,那也就有他存在的意义,下面来看看吧. 首先,我们要先回忆一下js函数都有哪几种调用的场合,有如下几种场合: 1.很常规的调用(即直接调用,其实你发现也是全局调用): 2.作为某个对象的豆哥方法被调用: 3.作为构造函数,用来新建某个新对象(object): 4.很让人头大的apply调

JS函数的词法分析和执行过程

调用JS函数包括两部分在执行:1.词法分析 2.执行语句      例1:*/           function test(x,y){                  function x(){                     alert(x);                }                x();                alert(x);          }          test(100);    词法分析:    1.函数执行时候,生成Act

js函数表达式和函数声明的区别

我们已经知道,在任意代码片段外部添加包装函数,可以将内部的变量和函数定义"隐 藏"起来,外部作用域无法访问包装函数内部的任何内容. 例如: var a = 2; function foo() { // <-- 添加这一行 var a = 3; console.log( a ); // 3 } // <-- 以及这一行 foo(); // <-- 以及这一行 console.log( a ); // 2 虽然这种技术可以解决一些问题,但是它并不理想,因为会导致一些额外的

JS闭包理解

Js闭包理解 在很多面试题中都会问什么是js的闭包,为什么需要使用闭包,使用闭包的优缺点! 我在面试其他人的时候也喜欢问这个问题,回答的也是千奇百怪,现在就总结一下我对闭包的理解. 闭包是一种概念,这种概念比较复杂,很多地方的定义不尽相同,我的理解是:闭包是能读取函数内部变量的函数,也就是定义在函数内部的函数,成为函数内部元素与外部沟通的桥梁. 闭包的概念是有js的链式作用域引出来的,所谓链式作用域就是指:内部函数可以读取到所有的外部变量,而外部变量或者函数不能读取到函数的内部变量,变量的作用域

JS 函数中的arguments,call,apply

JS 函数定义的时候的参数和调用时的关系调用时实际传递的参数可以比定义的参数多或者少,见下面的两个例子 <script> function test(a,b,c){ console.log(a); } test('a'); test('a','b','c'); </script> <script> function test(a){ console.log(a); } test('a'); test('a','b','c'); </script> JS的方法

node.js javascript理解原型继承

util.inherits util.inherits(constructor, superConstructor)是一个实现对象间原型继承的函数. JavaScript 的面向对象特性是基于原型的,与常见的基于类的不同.JavaScript 没有提供对象继承的语言级别特性,而是通过原型复制来实现的 var util = require('util'); function Base() { this.name = 'base'; this.base = 1991; this.sayHello =