js排序

0311lc.com说:1. 冒泡排序 原理:从第一个元素开始,把当前元素和下一个索引元素进行比较。如果当前元素大,那么就交换位置,重复操作直到比较到最后一个元素 function bubbleSort(arr) { if (Array.isArray(arr)) { for (var i = arr.length – 1; i > 0; i–) { for (var j = 0; j < i; j++) { if (arr[j] > arr[j + 1]) { [arr[j……阅读更多

Babel

0311lc.com说:Babel 是一个 JavaScript 编译器,可以将 JavaScript 代码转换为…不同的 JavaScript 代码!具体来说,它能把用最新版 JavaScript 编写的 JavaScript 代码转换为被更多浏览器支持的旧版 JavaScript 等效代码。 Web 开发人员将 Babel 整合到流程中,就可以使用最新的 JavaScript 功能编写代码,无需担心浏览器兼容性。 小故事:Babel 不包括 Web API 例如,如果你在 JavaScrip……阅读更多

CSS浏览器兼容性写法、JS浏览器兼容性写法

0311lc.com说:一、浏览器的内核 IE:trident内核 Firefox(火狐):gecko内核 Chrome:Blink(基于Webkit) Safari:Webkit内核 Oprea:现用Blink,以前是presto内核 二、CSS浏览器兼容性 -moz-   火狐 -o-        opera早期 -webkit-     谷歌、safari -ms-    IE 三、JS浏览器兼容的写法 (参考博客:https://www.cnblogs.com/May-J-Wang/p……阅读更多

html和css的兼容写法

0311lc.com说:用户使用的浏览器五花八门,我们要保证每一种浏览器都能兼容我们的代码,不能要求用户去改变浏览器,那么就得在我们的代码上下功夫。此时我们要用到hack。 HACK就是针对不同的浏览器写不同的HTML、CSS样式,从而使各种浏览器达到一致的渲染效果。 下面我们就分别了解一下HTML的hack和CSS的hack。 (一)、HTML的hack HTML的hack由注释<!–  –>演变而来,在高级浏览器中注释不会被加载,把IE浏览器的兼容代码写在……阅读更多

js中的prototype属性

0311lc.com说:函数:原型 每一个构造函数都有一个属性叫做原型(prototype,下面都不再翻译,使用其原文)。这个属性非常有用:为一个特定类声明通用的变量或者函数。 在函数内定义的变量和函数如果不对外提供接口,那么外部将无法访问到,也就是变为私有变量和私有函数。 function Obj(){ var a=0; //私有变量 var fn=function(){ //私有函数 } } 这样在函数对象Obj外部无法访问变量a和函数fn,它们就变成私有的,只能在Obj内部使用,即使是函数……阅读更多

JS中重载

0311lc.com说:所谓重载,就是一组相同的函数名,有不同个数的参数,在使用时调用一个函数名,传入不同参数,根据你的参数个数,来决定使用不同的函数!但是我们知道js中是没有重载的,因为后定义的函数会覆盖前面的同名函数,但是我们又想实现函数重载该怎么办呢? 第一种方法: 这种方法比较简单,给一个思路,大家肯定都能理解,就是函数内部用switch语句,根据传入参数的个数调用不同的case语句,从而功能上达到重载的效果。 这种方法简单粗暴。但是对于一个正在学习js的人来说,这种方法未免太敷衍了。 ……阅读更多

jquery checkbox 选中 取消 等

0311lc.com说:一、checked属性定义 先了解下input标签的checked属性: 1、HTML <input> checked 属性 ◆ 定义和用法 checked 属性是一个布尔属性。 checked 属性规定在页面加载时应该被预先选定的 <input> 元素。 checked 属性适用于 <input type=”checkbox”> 和 <input type=”radio”>。……阅读更多

js之argument详解

0311lc.com说:了解arguments这个对象之前先来认识一下javascript的一些功能: 其实Javascript并没有重载函数的功能,但是Arguments对象能够模拟重载。Javascrip中每个函数都会有一个Arguments对象实例arguments,它引用着函数的实参,可以用数组下标的方式”[]”引用arguments的元素。arguments.length为函数实参个数,arguments.callee引用函数自身。   argumen……阅读更多

原生JS实现addClass,removeClass,toggleClass

0311lc.com说:jQuery操作class的方式非常强大,但是目前还有一些人不知道如何使用或者由于项目统一性的原因无法使用jquery. 在此写了一个利用原生js来实现对dom元素class的操作方法 1.addClass:为指定的dom元素添加样式 2.removeClass:删除指定dom元素的样式 3.toggleClass:如果存在(不存在),就删除(添加)一个样式 4.hasClass:判断样式是否存在 下面为一toggleClass的测试例子 <style type=”……阅读更多

js 数组赋值问题 :值传递还是引用

0311lc.com说:转载于知乎 var a = [1,2,3]; var b = a; a = [4,5,6]; alert(b); //[1,2,3] 面试时被问到这样一个问题,竟然从来没试过… 当时直接的理解,数组是引用类型,应该是传递的是引用,so b也是[4,5,6],于是错了。js数组传递是跟基本类型一样创建副本吗? 我又做了如下测试: var a = [1,2,3]; var b = a; a.pop(); alert(b); //[1,2] 这样好像又是引用传递了? 晕了 ……阅读更多

闭包

0311lc.com说:闭包 因为JavaScript语言的特殊性,JavaScript并没有类的概念,如何让一个数据封装成private变量就成了一个大问题。用var定义的是全局变量,内部的函数都会访问到同一地址。举个例子 var book = (function(){ var page = 100; return function(){ this.auther = ‘dava’; this.price = 200; this._page = function(){ a……阅读更多