`

javaScript高级技巧

阅读更多
一、变量作用域和闭包
注意: uncaught refereceError:is not defined 和 undefined 不是一样

js是函数级作用域,在内部的变量,函数内部都能访问,函数外部不能访问函数内部的变量,函数内部能访问外部的变量

注意:在函数里声明变量,都会提到函数的最前面

如何可以在函数外部拿到函数内部的变量,就需要使用闭包(注意使用,闭包会造成内存泄露)

代码例子

function test(){

   var k = 1000;
   return function(){
       return k ;
   }
}

var t = test()();//t的值是1000;


二、this的使用(谁调用this就指向谁

代码例子
闭包的使用
this.m=1000;
var obj = {
   m:100,
   test : function(){
          alert(this.m);//值是100
          return function(){
              alert(this.m);//值是1000
          }  
   }
}
执行 (obj.test())();

面向切面的使用
this.a=1000;
function test(){
  this.a = 1;
}
test.prototype.geta = function(){ //将方法挂在原型上
  return this.a;
}
执行
var p = new test();
console.log(p.geta());//值是1


三、按值传递

1、如果将Stirng、number、boolean作为变量传递给函数,函数内部的修改不会影响外面的变量值。
2、如果将object、或者array传递给函数,函数内部的修改会影响外面的变量值。


四、通过原型链继承 (面向对象)

function People(){

}
People.prototype.say = function(){
  alert("hello world")
}

function Student(){

}

var super = Student.prototype.say;

Student.prototype.say = function(){
    super.call(this)//子类调用父类的方法
    alert("stu-hello");
}

Student.prototype = new People();//通过原型链来继承
var s = new Student();
s.say();

五、面向对象封装
(function(){

  var n = "ime" (只能在内部使用变量)
  function People(){

  }
  People.prototype.say = function(){
   alert("hello world")
  }
  
  window.People = People ;(对外提供一个接口)
})()


六、DOM事件处理

1、DOM0级事件处理,如果多次绑定一个事件,那么事件会被覆盖。
2、DOM2级事件处理,一个事件多次绑定,并不会覆盖,是依次执行。
3、阻止事件冒泡:event.stopPropagation();
4、阻止默认行为:如超链接标签的默认行为是连接到其他界面,event.preventDefault()可以阻止。


七、javaScript脚本操作http的web应用

1、Ajax :使用脚本操纵http和web服务器进行数据交换。不会导致界面重新加载。
2、comet: 与Ajax相反,web服务器发起通信并异步发送消息到客户端。
3、使用<script>元素实现脚本操纵HTTP是非常吸引人的,因为他们可以跨域通信而不受限于同源策略。
4、JSONP:使用基于<script>的Ajax传输协议是,服务器的响应采用JSON编码的数据格式,当执行脚步是,javaScript解析器能自动将其"解码"。由于它使用JSON数据格式,因此这种Ajax传输协议也叫做"JSONP"

八、ajax的JSONP的使用

首先,在客户端指定一个跨域的url地址,注册一个callback, 然后把callback的名字传给服务器,然后生成一个function方法。

然后,当服务器先生成 json 数据后,会将json数据封装在function方法中。返回给客户端。

最后,在客户端就会执行方法的回调函数,从而得到跨域服务器的json。











分享到:
评论

相关推荐

    javascript 高级技巧

    "JavaScript高级技巧"这个主题涵盖了使开发者能够充分利用JS功能的各种技术、模式和最佳实践。 在"javascript 高级技巧"的讨论中,我们可能会涵盖以下几个关键知识点: 1. **闭包(Closures)**:闭包是JavaScript...

    javascript高级技巧的应用——示例

    javascript高级技巧的应用——示例

    Javascript高级技巧分享

    本文将探讨几个JavaScript的高级技巧,帮助开发者提升编程效率和代码质量。 1. 类型检测: 在JavaScript中,typeof操作符可以检测变量的基本类型,但无法区分对象类型的差异,如数组和对象。而instanceof则用于检查...

    JavaScript高级编程 pdf

    "JavaScript高级编程"这本书深入探讨了这门语言的高级特性和最佳实践,旨在帮助开发者提升技能水平,实现更高效、更可靠的代码编写。以下是该书可能涵盖的一些关键知识点: 1. **基础语法**:包括变量、数据类型...

    Javascript 高级程序设计(第3版)超清中文PDF

    《JavaScript高级程序设计》(第3版)是一本深入探讨该语言精髓的权威书籍,它为读者提供了全面且深入的JavaScript知识,包括语言核心、DOM操作、BOM处理、事件处理以及面向对象编程等多个方面。 在书中,作者详细...

    JavaScript 高级程序设计(第3版)【附源代码】

    《JavaScript高级程序设计(第3版)》是JavaScript学习者必备的经典教材,它深入讲解了JavaScript的核心概念、语法以及高级特性。这本书由资深JavaScript专家Nicholas C. Zakas撰写,为读者提供了全面且深入的...

    JavaScript.实用教程

    JavaScript高级技巧 - **异步编程**:学习如何使用回调函数、Promise和async/await处理异步操作。 - **模块化开发**:了解ES6模块和其他模块系统(如CommonJS)的使用。 - **框架与库**:探索流行的JavaScript框架...

    javascript高级代码例子

    "JavaScript高级代码例子"这个主题涵盖了JavaScript的高级特性和实践应用,旨在帮助开发者深入理解和运用这些高级技术。以下是对这些高级知识点的详细阐述: 1. **闭包(Closures)**:闭包是JavaScript中的一个...

    javascript高级教程.pdf

    《JavaScript高级教程》这本书深入探讨了这一动态语言的核心概念和技术,旨在帮助开发者提升技能,掌握JavaScript的高级用法。 首先,JavaScript是一种解释型的、基于原型的、动态类型的脚本语言。这意味着它不需要...

    Javascript 高级程序设计第3版(完整源代码书上每个例子都有)

    直到当前它对XML和Web服务的具体支持,内容主要涉及JavaScript的语言特点、JavaScript与浏览器的交互、更高级的JavaScript技巧,以及与在Web应用程序中部署JavaScript解决方案有关的问题,如错误处理、调试、安全性...

    javascript参考教程javascript高级教程javascript权威指南(第四版)

    在阅读这些文档的同时,配合《JavaScript+5.CHM》和《Javascript高级教程.CHM》这两份CHM格式的电子书,可以更直观地查找和学习特定知识点。CHM文件是Microsoft的帮助文档格式,包含了丰富的索引和搜索功能,便于...

    javascript高级编程技术

    学习JavaScript高级编程技术,首先需要理解脚本语言的概念。脚本语言是相对于编译型语言而言的,它们通常不需要预编译,而是直接由解释器执行。JavaScript就是这样的脚本语言,它在网页加载时被解释执行,可以实时...

    javascript高级编程JavaScript.pdf

    JavaScript,作为一种广泛应用于Web开发的脚本语言,其在实际应用中常常会遇到命名冲突的问题。特别是在大型项目中,...在实际开发中,应根据项目规模和团队协作的需求,灵活运用这些技巧来构建清晰、健壮的代码结构。

    JavaScript高级

    "JavaScript高级"这一主题深入探讨了这门语言的核心概念、高级特性以及最佳实践,旨在帮助那些已经掌握JavaScript基础的开发者进一步提升技能水平。下面将详细阐述JavaScript高级知识中的多个重要方面。 1. **原型...

    javascript高级编程PPT.zip

    javascript高级编程的JavaScript开始讲起,直到当前它对XML和Web服务的具体支持,内容主要涉及JavaScript的语言特点、JavaScript与浏览器的交互、更高级的JavaScript技巧,以及与在Web应用程序中部署JavaScript解决...

    javascript书藉大全

    理解闭包和立即调用的函数表达式(IIFE)也是JavaScript高级技巧的一部分。 4. **事件和DOM操作**:JavaScript与HTML文档对象模型(DOM)交互,可以改变网页内容、响应用户操作。事件监听器、事件冒泡和事件委托等...

    JavaScript小技巧全集 JavaScript教程 JavaScript源代码集

    总的来说,这个“JavaScript小技巧全集”涵盖了从基础到进阶的JavaScript知识,包括但不限于语法、DOM操作、事件处理、动画效果和高级技巧。无论你是初学者还是经验丰富的开发者,都可以从中受益,提升自己的...

Global site tag (gtag.js) - Google Analytics