
JavaScript
文章平均质量分 57
leafqi
一名前端工程师,个人网站:https://www.leafqi.com。文章解惑QQ1141058001 || 学习交流 i@leafqi.com
展开
-
JavaScript事件委托
js事件处理程序总结笔记来了首先,为什么要用事件委托,用一段代码解释下: DOM #con li{ width: 100px; height: 50px; background-color: #1F747C; border-bottom: 1p原创 2015-05-11 01:30:20 · 402 阅读 · 0 评论 -
DOM事件处理程序总结
今天学习了几种处理DOM事件的方法,特分享一下。一、HTML事件处理程序html>html>head lang="en"> meta charset="UTF-8"> title>DOMtitle> script type="text/javascript"> function test(){ alert("你点击了"原创 2015-04-28 19:09:54 · 480 阅读 · 0 评论 -
初识前端模板引擎jade
1.什么是模板引擎?(我的理解)模板引擎:为了使用户界面与业务数据(内容)分离而产生的,根据特定的规则生成特定文档,各个领域都可以有自己的模板引擎。 web模板引擎:最终生成的文档是HTML类型。 而这种规则有五花八门,各种各样的规则就是不同的模板引擎。 本文主要讲jade2.jade的安装(windows)jade是基于nodeJs的,所以首先要安装运行环境 nodeJs,包管理工具npm原创 2016-02-12 16:15:30 · 1982 阅读 · 0 评论 -
js遍历数组方法(总结)
本文总结js遍历数组的方法:问题:遍历数组arr,将各个元素全部转成大写var arr = ['a','b','c','d'];方法1:for循环 这个方法比较常用"use strict";var arr = ['a','b','c','d'];var arrUp = [];for(var i = 0; i < arr.length; i++){ arrUp.push(arr[i]原创 2016-02-15 16:14:49 · 7051 阅读 · 0 评论 -
原生js实现Ajax
Ajax的主要作用: 使用脚本操作HTTP和Web服务器进行数据交互,不会导致页面重载自己用原生封装了Ajax,附上代码:ajax.js//创建xhr对象 , 返回创建成功的 xhrfunction createXmlHttpRequest(){ var xhr = null; try{ xhr = new XMLHttpRequest();//firefox O原创 2015-09-25 22:12:04 · 1685 阅读 · 1 评论 -
js实现自定义事件(字面量 && 原型)
1.前言我们平时在操作dom时候经常会用到onclick,onmouseover等一系列浏览器特定行为的事件, 那么自定义事件,顾名思义,就是自己定义事件类型,自己定义事件处理函数,在合适的时候需要哪个事件类型,就去调用哪个处理程序2.js所支持的浏览器默认事件浏览器特定行为的事件,或者叫系统事件,js默认事件等等都行,大家知道我指的什么就行,下文我叫他js默认事件。 js默认事件的事件绑定,事原创 2015-12-08 16:59:32 · 1322 阅读 · 3 评论 -
有关js原型的系列方法
最近一直在看js原型,书上讲了好多方法,总是弄混淆了,这里做一个解释总结,也算对自己学习的一种巩固检测类方法1.hasOwnProperty()方法作用: 检测一个属性存在于对象实例还是原型中 返回值: 对象实例(true),原型(false)function Person(age){ this.age = age;}Person.prototype.name = "ys";var p原创 2015-12-11 15:11:19 · 488 阅读 · 0 评论 -
BOM学习笔记
今天面试,人生第一次面试,好激动。面试进行中………说说你对BOM的理解……..这个,吱吱呜呜…….结果…..惨了,不会啊,赶紧恶补了一下,记录学习笔记,以便以后忘了看。正文BOM:浏览器对象模型。 核心对象: window对象(是访问浏览器窗口的一个接口 && 全局变量对象)1.window对象1.全局变量不能通过delete操作符删除,window对象属性可以(IE9以下2种方式均报错)2. i原创 2016-02-21 21:04:21 · 835 阅读 · 0 评论 -
js字符串方法(总结)
测试数组str=”China”;下面各个方法对str的测试互不影响。截取字符串substr(start,length) 截取字符串,从start开始,截取length个。返回新字符串。 length省略表示截取到末尾console.log(str); //Chinaconsole.log(str.substr());原创 2016-02-05 19:43:28 · 534 阅读 · 0 评论 -
提升性能-文档碎片
概念性解释:dom规定,文档碎片(document fragment)是一种“轻量级”的文档,不会像完整的文档那样占用额外的资源。我们叫他DocumentFragment节点,nodeType值为11,而我们用文档碎片可以提升dom操作的性能。看看下面的例子就知道。问题<!--给id为 "u" 的<ul>元素里面添加10个<li>元素--><ul id="u"></ul>通常解法:var u =原创 2016-01-10 11:58:22 · 496 阅读 · 0 评论 -
js数组方法(总结)
测试数组arr = [2,0,1,6];下面各个方法对arr的测试互不影响。 shift() 删除并返回数组的第一个元素。console.log(arr.shift()); //2console.log(arr); //[1,0,6] pop() 删除并返回数组的最后一个元素。console.log(arr.pop());原创 2016-02-04 20:14:03 · 530 阅读 · 0 评论 -
m个元素的数组,随机选择n个不重复元素(js实现)
问题描述:在由m个元素的source数组中,随机选择n个不重复的元素放入新数组target注:source数组元素本身不重复,m>n解决方案方案一:根据数组source,在0到source.length-1范围内随机一个数作为下标,选择下标对应元素放入数组target同1法,再从source数组随机一个数,将这个数与target数组中已有的数进行比较,不同则放入,相同则再随机重复执行2,然后原创 2016-01-09 21:21:51 · 4631 阅读 · 0 评论 -
获取元素的style样式(内联,内部)
我们在实际应用中,经常会获取元素的样式, 我们会这样获取:获取内嵌样式<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>获取非行间元素样式</title> <style type="text/css">原创 2015-09-26 11:24:51 · 9290 阅读 · 0 评论 -
JavaScript事件流之事件冒泡,事件捕获
首先普及事件流知识,所谓事件流指的是页面接收事件的先后顺序先说说事件流为什么会分为事件冒泡和事件捕获吧。就是在第四代浏览器(IE4,Netscape4)在处理事件流时候提出了相反的概念,即现在的IE是事件冒泡,Netscape是事件捕获。是不是有点晕,好吧,继续有例子。概念:事件冒泡:事件最开始由最具体的元素接收(文档层次中嵌套最深的那个节点),然后逐级向上传播最不具体的节点(docume原创 2015-05-11 15:02:49 · 641 阅读 · 0 评论 -
原生js多动画同时运动框架(style属性多项同时改变)
在js中,我们经常会编写代码,实现元素变化运动,如width,height,opacity等 原生封装了运动框架,代码如下/* * 实现多动画同时运动(多物体运动框架) * * 调用示例 var container = document.getElementById('container'); * startMultiMove(container,{width:80原创 2015-09-26 10:58:08 · 1126 阅读 · 0 评论 -
何为js的语句声明
1.js的变量声明在js程序代码中,变量是用var关键字声明的。 ①变量声明var a;//声明单个var a,b,c;//声明多个②变量声明+初始赋值var a = 1;//声明赋值单个var a = 1, b = 2, c = 3;//声明赋值多个当变量声明没有初始化时,变量的值为undefined;2.js的函数声明在js程序代码中,变量是用function关键字声明的。function原创 2015-10-24 15:50:12 · 1180 阅读 · 0 评论 -
js创建对象之设计模式
1. 工厂模式function createPerson(name, age){ var obj = new Object(); obj.name = name; obj.age = age; obj.sayName = function(){ console.log(this.name); // | console.log(obj.name) };原创 2015-11-30 12:12:21 · 2888 阅读 · 0 评论 -
js如何创建类(封装)
学过其他面向对象语言的JavaScripter,可能都应用过类,如:class{},等定义的一系列方法, 但是初学者看是学习js的时候,经常会看到这样一句话,那就是JavaScript是面向对象语言,可是自己无论怎么学习,都不太清楚面向对象编程,我也是如此,开始一直纠结js面向对象编程,这几天算是有所了解了,谈谈我对js类的理解。。。所谓类,会有以下功能:构造器静态属性,静态方法共有属性,共原创 2015-12-12 16:43:39 · 28963 阅读 · 6 评论 -
js如何创建对象(方法总结)
js一个有三种方法创建对象,这里做一个总结.1.对象直接量所谓对象直接量,可以看做是一副映射表,这个方法也是最直接的一个方法,个人比较建议,//创建简单对象var obj1 = {}; //空对象var obj2 = { name: "ys", age: 12};//创建复杂对象var obj3 = { name: "ys", age: 12, li原创 2015-12-02 12:29:15 · 1061 阅读 · 2 评论 -
js表达式运算--细节易错(总结)
我们在使用js的过程中,会经常进行js表达式运算,但是很多时候,由于js的语言特点,有些计算结果会让我们大吃一惊。 很多时候的结果并不是我们预期的,或者又说,有时候明明已经出错,但是偏偏得出了正确的结果。js在运算的时候,如果两个运算式子不同类型,那么就会进行隐式强制类型转换这样的js运算细节有很多,总结下目前所了解的:第1组0.1+0.2; //0.3000000000000000原创 2016-01-18 16:57:40 · 747 阅读 · 0 评论 -
谈谈对js原型对象的理解
对于JavaScript的原型,理解了好久,这里做一个学习性见解,不对的地方,望指正。这里我以函数运行为例,先看下面的例子:function Person(name, age){ this.name = name; this.age = age;}var p = new Person("ys",21);Person.prototype.aaa = 123;Person.pro原创 2015-12-02 21:32:34 · 1514 阅读 · 2 评论 -
js数据类型检测方法(总结)
总结JavaScript检测数据类型的方法在这之前,先说说js的类型,js有5大基本类型和一个复杂类型 5大基本类型:undefined,null,number,string,bollean 一个复杂类型:object1.typeof返回值类型:字符串检测如下: /*5大基本类型*/var a = 123;console.log(typeof a == "number")原创 2015-12-13 12:25:15 · 1129 阅读 · 0 评论