javascript高级特性(面向对象):
* 面向对象:
* 面向对象和面向过程的区别:
* 面向对象:人就是对象,年龄\性别就是属性,出生\上学\结婚就是方法.
* 面向过程:人出生、上学、工作、结婚、生子、去世整个过程.
* 对象和类的区别:
* 类:类比作一堆美女.
* 对象:对象就是范冰冰.
* javascript的开发工具:
* WebStrom开发工具,在国内被专业的前端开发人员称之为js神器.
* 代码提示功能非常强大.
* javascript的扩展内容:
* 服务器端开发人员来讲,之前的javascript基础内容够用.
* javascript高级特性的目的:
* 在目前服务器端开发人员中,增加竞争力.
* 面向专业前端开发人员应聘.
* javascript语言的发展趋势:
* 每年全球开发语言的排行榜:第7名.
* 开发客户端、服务器端、移动端(phoneGap)
* 预测javascript语言可能成为下一代企业级开发语言.
* 函数:
* Arguments对象:用来模拟函数重载的效果.
* 变量的作用域:
* 作用域:
* 全局域
* 函数域
* 变量:
* 全局变量:全局域+函数域
* 局部变量:当前函数域
* 特殊情况:
* 定义局部变量时,不使用var:局部变量被定义为全局变量.
* 当全局变量与局部变量同名时:在函数域中只能访问到局部变量.
* 特殊的函数:
* javascript中的函数:
* 三种定义方式:
* function 函数名(参数){}
* var 函数名 = function(参数){}
* var 函数名 = new Function(参数,函数体);
* 特殊函数:
* 匿名函数
* 回调函数
* 自调函数
* 内部函数
* (了解)返回函数的函数
* 作用:多用于javascript代码的优化.
* 原始类型与引用类型:类似于Java中的int与Integer.
* 原始类型:
* undefined
* null
* number
* string
* boolean
* 引用类型:
* Object
* Number
* Boolean
* String
* 问题:
* if(undefined==null):返回true.
* new Object();
* 闭包:非常重要的一个概念.
* 作用域链:
* 变量的作用域具有传递性.
* 闭包:参看笔记.xls文档
定义:函数可以使用函数之外定义的变量。
编写的三点需求:同时满足

需求:
* 在全局域中可以访问函数n()

* 在函数n()中依旧可以访问局部变量b

* 变量b必须定义在函数fn()中

* 目前不要求大家可以编写闭包结构。

* 作用:
* 代码之间的低耦合。
* 局部变量的共享。
* 提高安全性。

* 局限性:
* n函数的初始化,必须在fn()中
* 调用函数n,必须先调用fn()

* 对象:
* 定义对象三种方式:
* var 对象名 = new Object();
* var 对象名 = {key : value, key : value}
* 函数即对象,函数对象:function 对象名(){}
* 对象具有属性和方法:
* 普通对象:
* 调用:
* 对象名.属性名;
* 对象名.方法名();
* 修改:
* 对象名.属性名 = 新的属性值;
* 对象名.方法名 = 新的function
* 增加:
* 对象名.新的属性名 = 新的属性值;
* 对象名.新的方法名 = 新的function
* 删除:
* delete 对象名.属性名;
* delete 对象名.方法名;
* 函数对象: 又叫构造器 构造函数
* 在使用函数对象的属性或方法之前,new对象.
* 内建对象:
* 数据封装类对象
* Array
* new Array() //object
* [] //object
* String
* new String("aaa"); //object
* "aaa"; //string
* Object
* Object是javascript所有对象的父级.
* 在javascript得到对象最简单形式:new Object()
* new Object()与var 对象名 = {}等价

面试题:以下哪个描述是错误的?
A var a = []; //数组
B var b = {}; //对象
C var c = //; //正则表达式 空正则表达式 /^[0-9]{10}$/
D var d = (); //错误

面试题:alert("xxxyyy")方法提示框中换行

* 工具类对象
* Date
* xxxx年xx月xx日 hh:mm:ss
* Math
* 生成随机数:random(),0-1范围
var number = parerInt(Math.floor(Math.random() * 4))
* RegExp
*匹配方法:test()

* 错误类对象
* Error
* 异常对象:try..catch

* 原型:非常重要的一个作用.
* prototype:函数本身就是一个对象,原型就是函数对象的一个属性.
* 需要注意的是:
* 创建了函数对象,原型自动创建(不能手动创建).
* 原型的调用:函数对象.prototype.
* 作用:
* 利用原型为函数对象增加属性和方法.
* 继承:

javascript高级特性(面向对象)的更多相关文章

  1. javascript高级特性

    01_javascript相关内容02_函数_Arguments对象03_函数_变量的作用域04_函数_特殊函数05_闭包_作用域链&闭包06_闭包_循环中的闭包07_对象_定义普通对象08_ ...

  2. JavaScript高级特性-数组

    1. JavaScript中的数组 在C++.Java中,数组是一种高效的数据结构,随机访问性能特别好,但是局限性也特别明显,就是数组中存放的数据必须是同一类型的,而在JavaScript中,数组中的 ...

  3. JavaScript高级特性-创建对象的九种方式

    1. 对象字面量 通过这种方式创建对象极为简单,将属性名用引号括起来,再将属性名和属性值之间以冒号分隔,各属性名值对之后用逗号隔开,最后一个属性不用逗号隔开,所有的属性名值对用大括号括起来,像这样: ...

  4. JavaScript高级特性-实现继承的七种方式

    声明和约定: 在C++和Java中,我们可以通过关键字class来声明一个类,在JavaScript中没有这个关键字,但我们知道可以通过new一个function创建对象,这个function类似C+ ...

  5. Javascript高级篇-面向对象的特性

    一.创建对象 1.1初始化器 var any={ name:"some", age:10, action:function(){ alert(this.name+":&q ...

  6. Javascript高级程序设计——面向对象小结

    ECMAScript支持面向对象编程,对象可以在代码执行时创建,具有动态扩展性而非严格意义上的实体. 创建对象方法: 工厂模式:简单的函数创建引用类型 构造函数模式:可以创建自定义引用类型,可以想创建 ...

  7. Javascript高级程序设计——面向对象之理解对象

    在面向对象语言中都有类的概念,通过类来创建具有属性和方法的对象.而ECMAScript中没有类的概念,ECMAScript中定义了对象:无需属性的集合,其属性值可以包含基本值.对象.或者函数. 在Ja ...

  8. JavaScript高级与面向对象

    对象:任何事物都可以看作是对象. 1.面向对象与面向过程的概念 面向过程:凡是自己亲力亲为,自己按部就班的解决现有问题. 面向对象:自己充当一个指挥者的角色,指挥更加专业的对象帮我解决问题. 联系:面 ...

  9. 2020/06/06 JavaScript高级程序设计 面向对象的程序设计

    ECMAScript虽然是一种面向对象的语言,但是他没有类的概念.所以他的对象也与其他语言中的对象有所不同. ECMA-262定义对象:一组没有特定顺序的值. 6.1 理解对象 创建对象的方法: 1. ...

随机推荐

  1. 『重构--改善既有代码的设计』读书笔记----Split Temporary Variable

    继续开始我们重构手法的系列,今天介绍的是Split Temporary Variable---分解临时变量. 在我们平常写的程序中肯定有某些临时变量被赋予了超过一个的责任.如果他们不是那种收集结果(t ...

  2. Debian ls 文件 文件夹颜色显示

    一.让debian终端文件显示不同颜色 vim  /etc/vim/vimrc取消“syntax on”的注释 二.让debian终端文件夹显示不同颜色 修改.bashrc文件,vim /root/. ...

  3. java判断网络连接是否正常

    /** * 判断本机当前的网络状态是否联通 * 在这里主要用到中国天气信息,所以访问百度地址是否能够访问成功来判断当前的网络状态 */ public static boolean isConnect( ...

  4. Bootstrap_排版_列表

    一.基本列表 <h5>普通列表</h5> <ul> <li>列表项目</li> <li>列表项目</li> < ...

  5. php对mongo操作问题

    最近由于业务需求,需要使用php对mongo做一些操作,关于mongodb,选择的版本是:MongoDB shell version: 2.0.6 MongoDB是一种文档导向数据库管理系统,由C++ ...

  6. 【转】.NET开发者必备的11款免费工具

    摘要:本文介绍一些最适合.NET开发人员简化Web开发的最佳工具,这些工具都是开源的,有的开发工具你既可以从网上下载可执行文件,也可以下载源代码.一些工具拥有可扩展的框架,是一个持续集成工具. 原文链 ...

  7. Delphi笔记(GL_Scene四轴飞行器模型)

    有了前的一篇做铺垫,已经简单的说了GL_Scene的下载安装和一个简单的实例制作.现在就要开始制作一个3D的模型了,具体的步骤就不再这里多说了,直接上图和代码吧! [第一版]先看一下最开始的版本吧,比 ...

  8. sql 批处理、获取自增长、事务、大文本处理

    批处理 需要批量执行sql语句! 需求:批量保存信息! 设计: AdminDao Public void save(List<Admin list){ // 目前用这种方式 // 循环 // 保 ...

  9. SQL Server分区动态生成脚本(三)(按年份划分)

    --生成分区脚本DECLARE @DataBaseName NVARCHAR(50)--数据库名称DECLARE @TableName NVARCHAR(50)--表名称DECLARE @Column ...

  10. Swift互用性:采用Cocoa设计模式(Swift 2.0版)-b

    本页包含内容: 委托(Delegation) 错误处理(Error Handling) 键值观察(Key-Value Observing) Target-Action模式(Target-Action) ...