Javascript基本概念梳理

javascript里的数据类型:

原始类型:数字,字符串,布尔值。(原始值:null,undefined)

对象类型:键值对,数组,function,全局对象(MATH,JSON)

包装对象的概念:

字符串"aaa".len 字符串并不是对象,但是却可以调用它的属性,说明这只是一个临时对象,内部用new String()来创建的临时的。

原始类型是永远不可变的,所以可以比较他们的值,但是对象类型是可变的,不能比较他们的值.

Javascript原型和继承:

Javascript里每个对象都和另外一个对象关联,这个对象就是__proto__(原型对象)注意这里的原型对象并不是prototype。

解释一下:这里的prototype指的是通过关键字new和构造函数调用创建的对象的原型就是构造函数的prototype属性。

对象实例的__proto__指向这个对象的prototype,而对象的__proto__为空。举个例子就是:

var array = new Array();
array.__proto__ === Array.prororype  //true
Array.__proro //null

当然,也可以使用Object.getPrototypeOf()替代__proto__来使用来得到对象所继承的原型,举例说明:

Object.getPrototypeOf(Array) === Array.__proto__;

Object.getPrototypeOf()来查看原型继承,例如:

Object.getPrototypeOf(Array.prototype) // Object  

可以看出Array的prototype继承Object所以Array也有他的方法例如totring()等。可以得到所有的对象都有一个共同的原型,就是Object但是Object只是一个构造函数,想要访问他,就只用Object..prototype来得到。

例如,Object..getPrototypeOf()来查看自定义的继承

function A(){};
function B(){};
A.prototype = new B();
Object.getPrototypeOf(A.prototype) //B

Javascript基本概念梳理,布布扣,bubuko.com

时间: 2024-10-25 07:12:09

Javascript基本概念梳理的相关文章

[DOM Event Learning] Section 2 概念梳理 什么是事件 DOM Event

[DOM Event Learning] Section 2 概念梳理 什么是事件 DOM Event 事件 事件(Event)是用来通知代码,一些有趣的事情发生了. 每一个Event都会被一个Event对象所表示,这个对象可能还会有一些自定义的字段或者方法,来获取发生什么事情的更多信息. Event对象实现了Event接口(https://developer.mozilla.org/en-US/docs/Web/API/Event). 事件可以是任何事情,从最基本的用户交互,到renderin

js基础--javascript基础概念之语法

掌握一门语言 必须先掌握它的语法! javascript 的语法和C.Java.Perl 的语法有些相似.但是比它们更加宽松. javascript 中的一切都是严格区分大小写的.例如变量: demo 和 Demo 两个变量是完全不同的. javascript 标示符,所谓标示符 是指 变量.函数.属性 的名字或函数的参数.标示符的格式是按照以下规则组合的一个或多个字符. 1.第一个字符必须是字母,下划线,或 $ 符号. 2.其他字符可以是字母.下划线.$ . 或数字. 注意 不能把关键字 保留

Javascript重要知识点梳理

Javascript重要知识点梳理 说明 Javascript流程控制 js中常用的数据类型 var关键字的使用 if – else if – else switch while for Javascript常用函数 1.  字符串函数 substring indexOf lastIndexOf charAt replace split toLowerCase toUpperCase 2.  数学运算函数 3.  数据类型转换函数 parseInt parseFloat Math.abs Mat

js基础--javascript基础概念之数组(二)

js基础--javascript基础概念之数组 数组栈方法 数组可以像栈一样.栈是一种先进后出的数据结构,最先添加的数据最后一个出来.栈方法添加数据也称为 推入  移除数据称为 弹出. js为数值栈方法提供了 push()   和  pop() ;  两个方法. push() push() 方法接受参数就是你要添加进入到数组的值.push()  方法会将他们逐一添加到数组的末尾  数组的length属性会跟着更新数据. *push(多个数组元素值) 返回的修改后的数组长度 var array =

js基础--javascript基础概念之数组

js基础--javascript基础概念之数组 在ECMAScript 中 ,数组是很常用的数据类型,js中的数组和其他很多语言的数组有明显的区别.js的数组可以保持任何类型的数值,一个数组中可以保存着多个不同类型的数值.js数组大小(长度)是可以调整的.可以随着数据的添加自动增长数组长度. 创建数组: 一.数组字面量 数组字面量由一对包含数组项的方括号[]表示. var array = [ 'kin', 'cheong', 'change', 'hello', 'haha', 'hi' ];

js基础--javascript基础概念之语句(二)

js基础--javascript基础概念之语句(二)label,break,continue.. break .  continue 语句. break  continue 语句用于在循环中精确控制代码的执行,其中break语句会立即退出循环,执行循环后面的语句. continue 则退出循环后返回到再次进入循环中. 如: var num = 0; for(var i = 0; i<=100; i++){ if(i >= 10){ break; } num = i; } alert(num);

JavaScript基础知识梳理--数组

JavaScript基础知识梳理--数组 1.创建方法 空数组:var obj=new Array(); 指定长度数组: var obj=new Array( size ); 指定元素数组 :  var obj=new Array( 元素1,元素2,....): 单位数组:var obj=new Array[ 元素1,元素2,元素3,...,元素N]; 多维数组:var a=new Array( [数组1],[数组2],[数组3],...,[数组N] ); 2.基本操作 存取数组元素: 单维数组

js基础--javascript基础概念之变量与作用域

js基础--javascript基础概念之变量.作用域 javascript按照ECMA-262 的定义,变量与其他语言变量有所不同.js变量时松散的,不需要事先定义变量类型的.这使得他只是一个保存特定值的一个名称.变量与其数据类型可以在脚本的生命周期内改变. 还有明白几点: JavaScript的变量作用域是基于其特有的作用域链的,JavaScript没有块级作用域. 基本类型和引用类型的值 ECMAScript 的变量有两种不同的数据类型:分别是 基本数据类型值 和 引用类型值 : 基本数据

js基础--javascript基础概念之语句

js基础--javascript基础概念之语句 ECMA-262定义了一组语句(流程控制语句) 语句定义了EMCAScript 语法. 常见的if语句. 语法: if(condition) statement1 else statement2 其中.Condition 可以是任意表达式.而且对这个表达式求值的结果不一定是布尔值.因为script 会自动调用boolean 将值转换为布尔值.如果condition 的值是 true .则执行statement1 语句  否则  执行 stateme