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. * 作用: * 利用原型为函数对象增加属性和方法.
转载于:https://www.cnblogs.com/yiwangdeyidianyuan/p/5736311.html