太原做网站

网站维护托管

JavaScript与jQuery事件委托的写法

JavaScript中的事件委托的定义:什么是事件委托:通俗的讲,事件就是onclick,onmouseover,onmouseout,等就是事件,委托呢,就是让别人来做,这个事件本来是加在某些元素上的,然而你却加到别人身上来做,完成这个事件。也就是:利用冒泡的原理,把事件加到父级上,触发执行效果。事件委托优势1:提高性能。我们可以看一个例子:需要触发每个li来改变他们的背景颜色。html部分:<ul class="list"><li>1</li

JavaScript用window.opener实现父窗口和子窗口传值

在实际项目中经常会有这样的需求,点击某个按钮弹出对话框,对话框中可以编辑和修改相应的内容,然后再保存并关闭窗口,如果写一个静态的div作为显示隐藏,倒也可以,但是还得调整样式,麻烦点。现在用window.open就可以实现同样的效果,父页面和子页面照样传值。demo代码如下:父页面:<!--Author : 赵一鸣Blog : http://www.zymseo.comTime : 2016/9/20--><!doctype html><html><he

Javascript异步编程的4种方法

大家都知道,javascript语言的执行环境是“单线程”。所谓"单线程",就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。常见的浏览器无响应(假死),往往就是因为某一段Javascript代码长时间运行(比如死循环),导致整个页面卡在这个地方,其他任务无法执行。为了解决这个问题,Javasc

JavaScript所有的字符串String对象方法总结

var str = 'hello world!';//1、创建HTML锚(anchor)console.log(str.anchor('open'));//<a name="open">hello world!</a>//2、用大号字体显示字符串(big)document.write(str.big());//hello world!//3、显示闪动字符串(blink),不兼容IEdocument.write(str.b

JavaScript所有的数组Array对象方法总结

var arry = ['hello','world'];//1、连接两个或更多的数组并返回结果,不会改变现有数组(concat)console.log(arry.concat('my','blog','is','zymseo.com'));//['hello','world','my','blog','is','

JavaScript设计模式之观察者模式(发布与订阅)

发布---订阅模式又叫观察者模式,它定义了对象间的一种一对多的关系,让多个观察者对象同时监听某一个主题对象,当一个对象发生改变时,所有依赖于它的对象都将得到通知.。发布者和订阅者是完全解耦的,彼此不知道对方的存在,两者仅仅共享一个自定义事件的名称。JS传统事件就是一个观察者模式,之所以要有观察者模式,是因为有时候和传统事件无关的事件,比如Vue.js中父组件获取子组件中的信息,就会用到单一事件管理,也就是消息的发布与订阅。参考文章:《Vue通过设置单一事件管理组件通信的方法》。另外,在Node.

Javascript面向对象的3种继承方式

Javascript面向对象的3种继承方式:拷贝继承、类继承、原型继承。要想清楚的了解构造函数的继承原理,首先得知道构造函数的“原型链”。什么是原型链呢?看下面这段代码:function Person( name ){this.name = name;}Person.prototype.showName = function(){console.log( this.name );}var person = new Person( "obama" );person.showNa

JavaScript面向对象编程之封装

最近一直在看关于JavaScript面向对象编程方面的知识点,虽然之前也了解过一些,工作中也用到了,但是现在结合《JavaScript权威指南》、《JavaScript高级程序设计》以及阮一峰老师的文章再过一遍,总是有不一样的感受。接触过PHP等后端语言,所以知道一些关于面向对象编程的概念,但是JavaScript本身没有【类】的概念(ES6之前),所以说它并不是一门真正的面向对象编程的语言。如果我们要把"属性"(property)和"方法"(method

JavaScript连等于号A=B=C的运算方法

今天看到一道非常有意思的面试题,值得思考,因为它结合了变量赋值与运算符的知识点,代码如下:var foo = {n:1};var bar = foo;foo.x = foo = {n:2};console.log(foo.x);//undefinedconsole.log(bar.x);//Object { n: 2 }分析如下:假设有一句代码: A=B=C; ,赋值语句的执行顺序是从右至左,所以问题在于:是猜想1: B = C; A = C;还是猜想2: B = C; A = B;我们都知道若

JavaScript回调函数、作用域、变量提升

今天,一个小伙伴遇到了问题:执行一个函数,说出最后这个函数的执行结果。代码如下:(function(callback){president = {name:"bush"};callback(president);console.log(president.name);})(function(a){a.name="obama";a = {name:"clinton"};}); 分析以上代码,可以得出以下结论:1、第一个匿名函数定
<< < 1 2 3 4 5 6 7 8 9 10 > >>
«   2020年10月   »
1234
567891011
12131415161718
19202122232425
262728293031
网站分类
搜索
最新留言
    文章归档
    友情链接