JS javascript 中的高级知识
来源:互联网 发布:sia国际艺术教育 知乎 编辑:程序博客网 时间:2024/05/16 14:39
JS前两章 讲的都是基础知识 本章讲解一下JS中不同于Java的高级知识: {JS又叫做函数式语言}让java变成动态语言三种方式 lambda 和 Grovvy语言实现和 Scala语言[基于JDK的大数据动态语言]。
JS函数创建的三种方法:1.利用function声明函数:function ok(..){..} ;
2.利用window.onlode=function (..){..} ;声明匿名函数 ,在页面加载的时候创建函数。
3.函数直接量或函数表达式:
3.1:JS创建动态运行时函数:var f=new Function(" "," ",fun) ; 所谓的动态就是 函数体可以由外界传进来。因此可以动态声明。非常方便。
3.2:JS创建动态函数参数传递函数: 先声明函数的执行顺序,完后执行函数调用,这里我们的形参是函数。
function ok(x,y,z,k){ x(y,z,k) ;} ; 这样我们可以发现形参x就是要变成一个对应的函数形参传递进来。两种实现方式第一种,体外声明函数,第二种声明匿名内部函数。
3.3:JS创建能够记住状态的函数(又叫做函数闭包,或者柯里化)返回函数:就是函数返回的是函数,返回的函数可以对外部函数的参数进行计算。所以外部函数的参数就是全局变量,或者是静态变量。 function ok(x){return function(y){ return x*y ; } ;} 、测试:var a=function(3) ; alert(a(3)); alert(a(4));
注:(1)由于JS是弱类型语言,所以在函数声明的时候可以不写形参,但在调用的时候可以写形参。利用arguments内部方法就可以实现对应形参的获取。arguments.length ; arguments[i] ;
(2) JS可以在形参中传递任何数据类型的数据 ,包括数组。JS也分基本类型和引用类型。当传递数组的时候就传递的是地址。剩下正常传递的是值。
二。JS中的面向对象技术:
介绍:JS中的面向对象技术,比较简单,都是通过函数来进行实现的。能实现对应的封装和继承的特性,但没有多态的特性,因为JS本身就具有多态的特性。
1.JS中重用JS对象:JS中函数就是对应的类。里面可以直接使用this.属性/或者this.方法 。无需声明属性和方法。调用的时候直接new 。跟java的一样了就。 注:JS中this是代表公有化。如果没有写this的话代表就是私有的。
2.JS中保持对象私有:不用this 直接声明 (用var),就是代表的私有。 {没有保护,没有默认,只有共有,私有。}
3.JS中用原型扩展对象:描述:在原先类的上边进行扩展。而且不改变源程序本身。利用prototype来进行实现。 在实例化的对象上例如 a.prototype.newmethod=function (){} ;就相当于添加了一个 newmethod 方法 。
4.JS中简单的声明Get和Set方法:利用prototype简捷快速的声明方法和对应的属性。对应的类名.prototype={ 方法名/或者属性名: 对应的方法实现/或者属性值 } 。这样在一个中括号中就能实现属性和方法的实现。
5.JS实现继承的功能: 继承的本质就是 利用apply这个内部变量进行实现的 。 父亲类.apply(this,arguments) ;this代表儿子,arguments代表对应的属性。 利用这句话就可以实现对应的继承了。
- JS javascript 中的高级知识
- js笔记(一)-《javascript高级程序设计》- 数组小知识
- javascript的高级知识
- JavaScript高级知识
- JavaScript 高级知识
- 孔浩javaScript高级知识一
- Javascript模块等高级知识
- javascript中的BOM操作(JS高级程序设计第八章)
- JavaScript中的正则表达式解析[JS正则知识]
- javascript高级模块化--require.js
- javascript高级程序设计知识整理(1)
- javascript高级程序设计知识整理(2)
- javascript高级程序设计知识整理(3)
- Javascript高级程序设计第三章知识总结
- JavaScript高级程序设计第八章知识总结
- JavaScript高级程序设计第十章知识总结
- js高级知识---作用域链
- JS高级基础阶段知识总结
- 【NOIP2014八校联考第2场第2试9.28】分组(group)
- Oracle入门
- 网站地图爬虫
- C++ WIN32(奔跑吧飞鱼)
- android 引用分析
- JS javascript 中的高级知识
- (十五)剑指offer之从上向下打印二叉树
- 算法竞赛入门经典 习题1-9 三角形(triangle)
- 初探委托
- iOS中nil、Nil、NULL、NSNull 区别
- 分类器对未见过类别的识别问题
- C++ 标准输入输出问题
- CoordinatorLayout中的嵌套滑动和Behavior
- 寒假思雨姐摸底E题,题解