ECMAScirpt 变量有两种不同的数据类型:基本类型,引用类型. 基本类型 ● Boolean ● Null ● Undefined ● Number ● String ● Symbol (ECMAScript 6 新定义) 对象类型 ● Object 对象类型涵盖了很多引用类型,任何非基本类型的都是对象类型.如Function.Array.Date,这里就不在赘述. 两种类型的区别 可变性 基本类型:不可变类型,无法添加属性:即使添加属性,解析器无法再下一步读取它: var cat = "…
Chart.js 是一个 Open Source 的 JavaScript Chart Library.它一共有 6 中 Chart,全都是 HTML5 based. 底下是 Chart.js 所提供的 6 中 Charts的实例图形,包括了折线图.柱形图.圆饼图等,这样很容易在html网页中实现动态图的效果: Line Chart Bar Chart Radar Chart Pie Chart Polar Area Chart Doughnut Chart 快速上手 你可以到 github下载…
JS中常用的内置对象:Array对象.Date对象.正则表达式对象.string对象.Global对象  Array对象中常用方法: concat() 表示把几个数组合并成一个数组join()   设置分隔符连接数组元素为一个字符串 pop()   移除数组最后一个元素shift() 移除数组中第一个元素 slice(start,end)  返回数组中的一段 splice()   可以用来删除,可以用来插入,也可以用来替换 push()    往数组中新添加一个元素,返回最新长度sort()  …
1.关于使用 event对象,出现的兼容性问题IE/Chrom: event.clientX;event.clientYFF/IE9以上/Chrom: 传参e   e.clientX;e.clientY 获取event对象兼容性写法: var oEvent==e||window.event; var oBox = document.getElementById("box") oBox.onclick = function(e){ e=e||window.event; if(e){ al…
目录 前端js常见混淆加密保护方式 eval方法等字符串参数 emscripten WebAssembly js混淆实现 JSFuck AAEncode JJEncode 代码压缩 变量名混淆 字符串混淆 自我保护,比如卡死浏览器 控制流平坦化 僵尸代码注入 对象键名替换 禁用控制台输出 调试保护,比如无限Debug,定时Debug 域名锁定 前端js常见混淆加密保护方式 代码压缩:去除空格.换行等 代码加密:eval.emscripten.WebAssembly等 代码混淆:变量混淆.常量混淆…
1.js常见的判断移动端或者pc端或者安卓和苹果浏览器的方法总结 : http://www.haorooms.com/post/js_pc_iosandmobile 2.Js判断客户端是否为PC还是手持设备: http://blog.csdn.net/seven1276/article/details/8211877 3. function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = new Array("Andr…
提醒大家,Object.prototype.toString().call(param)返回的[object class]中class首字母是大写,像JSON这种甚至都是大写,所以,大家判断的时候可以都转换成小写,以防出错 1.typeof(param) 返回param的类型(string) 这种方法是JS中的定义的全局方法,也是编译者们最常用的方法,优点就是使用简单.好记,缺点是不能很好的判断object.null.array.regexp和自定义对象. 示例代码: 复制代码代码如下: var…
判断js中的数据类型有一下几种方法:typeof.instanceof. constructor. prototype. $.type()/jquery.type(),接下来主要比较一下这几种方法的异同. var a = "iamstring."; var b = 222; var c= [1,2,3]; var d = new Date(); var e = function(){alert(111);}; var f = function(){this.name="22&…
最近,我一直对学习Node.js比较感兴趣.下面是小编给大家带来的Centos7 中 Node.js安装简单方法,在此记录一下,方便自己也方便大家,一起看看吧! 安装node.js 登陆Centos 终端登录 $ ssh root@192.168.0.23 IP可以是局域网内或者公网IP. 下载node 根据你的系统,在官网找到 https://nodejs.org/en/download/ 你需要下载的版本.比如我选择的 Linux Binaries (x86/x64) 64bit ,点击右键…
iscroll.js的简单使用方法(总结) 一.总结 一句话总结:Scroll是一个类,每个需要使用滚动功能的区域均要进行初始化. 最佳的HTML结构如下: <div id="wrapper"> <ul> <li>...</li> <li>...</li> ... </ul> </div> iScroll作用于滚动区域的外层.在上面的例子中,UL元素能进行滚动.只有容器元素的第一个子元素能进…
一.一个简单的js方法实现集合拷贝 做web项目的时候,少不了和js中的数组,集合等对象接触,那么你肯定会发现,在js中存在一个怪异的现象就是数组和集合的拷贝都是地址复制,并不是简单的数据的拷贝. 举个例子: //创建一个集合 var arr1=[{name:'小明',age:'22'},{name:'小刚',age:'23'}] //再创建一个空集合 var arr2=[] //开始拷贝集合arr1的第一个元素数据到集合arr2中 arr2.push(arr1[0]) //取出arr2中的数据…
python爬虫的一个常见简单js反爬 我们在写爬虫是遇到最多的应该就是js反爬了,今天分享一个比较常见的js反爬,这个我已经在多个网站上见到过了. 我把js反爬分为参数由js加密生成和js生成cookie等来操作浏览器这两部分,今天说的是第二种情况. 目标网站 列表页url:http://www.hnrexian.com/archives/category/jk. 正常网站我们请求url会返回给我们网页数据内容等,看看这个网站返回给我们的是什么呢? 我们把相应中返回的js代码格式化一下,方便查…
参考链接:https://www.cnblogs.com/Renyi-Fan/tag/js%E6%8F%92%E4%BB%B6/default.html?page=2 目录 一.总结 一句话总结:Scroll是一个类,每个需要使用滚动功能的区域均要进行初始化. 二.iscroll.js的简单使用方法(总结) 回到顶部 >  一.总结(点击显示或隐藏总结内容) 一句话总结:Scroll是一个类,每个需要使用滚动功能的区域均要进行初始化. 最佳的HTML结构如下: <div id="wr…
一.数据类型 我们通常熟知的数据类型有六种,包括5种基本数据类型(Number, String, Boolean, Undefined, Null)和一种引用数据类型(Object).ES6又新增了一个基本数据类型Symbol,所以现在应该是七种数据类型. 注:有些地方会把引用类型分为对象(Object).数组(Array).函数(Function)三种,还有博客中提到了chrome 67中的新功能BigInt类型,我这里暂时不算进去. 1.Number 数字类型,包括整数和浮点数. 有一个特殊…
1.原型链继承 // 1.原型链继承 /* 缺点:所有属性被共享,而且不能传递参数 */ function Person(name,age){ this.name = name this.age = age } Person.prototype.sayName = () =>{ console.log(this.name) } function Man(name){ } Man.prototype = new Person() Man.prototype.name = 'zhangsan' va…
目录 1. 字符串的转换 1.1 简单点,使用高阶函数来完成 1.2 从后往前循环字符串数组 1.3 以中间数为节点,判断左右两边首尾是否相等 2. 数字转换 2.1 求模得尾数,除10得整数 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 例如: 121,是回文数. 1221, 是回文数. 1234,不是回文数. -121,也不是回文数. 一些特殊的情况: 0-9的数字,都可以称为回文. 不等于0,且尾数是0的数字,都不是回文. 负数都不是回文. 1.…
ECMAScript 中定义了 7 种原始类型: Boolean String Number Null Undefined Symbol(新定义) BigInt(新定义) 注意: 原始类型不包含 Object 和 Function 常用的判断方法: typeof: typeof 基本都可以正确判断数据类型 typeof null和typeof [1, 2, 3]均返回"object" ES6 新增:typeof Symbol()返回"symbol" instance…
常见算法是js实现汇总 /*去重*/ <script> function delRepeat(arr){ var newArray=new Array(); var len=arr.length; for(var i=0;i<len;i++){ for(var j=i+1;j<len;j++) { if(arr[i]==arr[j]) { ++i; } } newArray.push(arr[i]); } return newArray; } var arr=new Array(&…
在登录.注册时,我们经常会遇到下面这种情况,如果我们没有输入用户名.密码时,系统会弹出提示框.提示框信息提示内容是我们密码没有输入密码或者用户名等.那么这样的弹出框效果是如何实现的呢?文章标题既然与js有关,那么我们就用js来实现这个功能,当然实现此功能的还有其他方法,在这里我用js去实现. 用表格布局先布局一个简单的html表单页面: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta char…
JS的简单用法 参考:http://www.w3school.com.cn/js/js_switch.asp JavaScript 是网络的脚本语言 JavaScript 是可插入 HTML 页面的编程代码. JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行. 1. 基础知识 1.1 实现 HTML 中的脚本必须位于 与 标签之间. 脚本可位于 HTML 的 或 部分中,或者同时存在于两个部分中. 通常的做法是把函数放入 部分中,或者放在页面底部.这样就可以把它们安置到同一…
1. 什么是类数组ArrayLike(类数组  就是一个普通的  js对象) 类数组对象必须含有 length 属性,且元素属性名必须是数值或者可转换为数值的字符. 类数组对象不是数组对象,所以没有数组对象的属性方法.但是可以使用 Array.from()方法,把类数组对象,转化为数组对象 //类数组示例 var a = { '1':'gg', '2':'love', '4':'meimei', length:5 }; //非类数组示例 var c = {'1':2}; //没有length属性…
如果你希望找一份有关Node.js的工作,但又不知道从哪里入手评测自己对Node.js的掌握程度. 本文就为你罗列了10个常见的Node.js面试题,分别考察了Node.js编程相关的几个主要方面. 在进入正文之前,需要提前声明两点: 这些问题只是Node.js知识体系的一个局部,并不能完全考察被面试者的实际开发能力. 对现实世界开发中遇到的问题,需要的是随机应变与团队合作,所以你可以尝试结对编程. Node.js面试题列表 什么是错误优先的回调函数? 如何避免回调地狱? 如何用Node来监听8…
node.js实现web服务器还是比较简单的,我了解node.js是从<node入门>开始的,如果你不了解node.js也可以看看! 我根据那书一步一步的练习完了,也的确大概了解了node.js,不过里面写的路由的地方总感觉不方便,十一放假最后一天,试着写了个简单的web服务器,现在分享记录于此! http模块已提供了基本功能,所以我主要解决两个问题,1是静态资源的处理,2是动态资源的路由. 静态资源在node.js里的意思是不变的,如图片.前端js.css.html页面等. 动态资源我们一般…
编写高质量JS代码的68个有效方法(一) *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* BLOCKS =============================================================================*/ p, blockquote, ul, ol, dl, table, pre { marg…
js.css.html判断浏览器的各种版本 (转载自:http://www.jb51.net/web/42244.html  版权归原作者所有) 利用正则表达式来判断ie浏览器版本 判断是否IE浏览器 if (document.all) { alert("这个是ie浏览器");} 判断是否IE6浏览器 方法一:if ( /MSIE 6.0/ig.test(navigator.appVersion) ) {alert("这个是ie6浏览器");} 或 /MSIE 8/…
使用骨骼动画技术可以将网格的顶点分配给若干骨头,通过给骨头设定关键帧和父子关系,可以赋予网格高度动态并具有传递性的变形 效果.这里结合之前的相关研究在网页端使用JavaScript实现了一个简单的骨骼动画编辑和模型生成工具. 一.显示效果: 1.访问https://ljzc002.github.io/Bones/HTML/CstestSpaceCraft2.html查看测试页面: 屏幕右侧的Babylon.js场景中是一个初始网格. 2.在Chrome浏览器控制台输入“ImportMesh("&…
1.document.frames()与document.frames[]的区别 <html> <body> <iframe id="ifr_1" name="ifr_1"> </iframe> </body> </html> js: alert(document.frames("ifr_1"));//火狐,谷歌,ie都无法识别这个方法 alert(document.fram…
实现简单的 JS 模块加载器 1. 背景介绍 按需加载是前端性能优化的一个重要手段,按需加载的本质是从远程服务器加载一段JS代码(这里主要讨论JS,CSS或者其他资源大同小异),该JS代码就是一个模块的定义,如果您之前有去思考过按需加载的原理,那你可能已经知道按需加载需要依赖一个模块加载器.它可以加载所有的静态资源文件,比如: JS 脚本 CSS  脚本 图片 资源 如果你了解 webpack,那您可以发现在 webpack 内部,它实现了一个模块加载器.模块加载器本身需要遵循一个规范,当然您可…
js实现简单的俄罗斯方块小游戏 开始 1. 创建一个宽为 200px,高为 360px 的背景容器 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> &…