js代码

js事件监听-addEventListener (w3c标准) 和 attachEvent(ie)

懵懂的女人 提交于 2019-12-21 03:33:41
研究了一个小时,没看懂这两个属性 window.onload = function(){ var oDiv = document.getElementById("J_myDiv"); //找到对象 oDiv.onclick = function(){ //设置事件监听函数 alert("click"); }} 缺点:1.添加单一事件 2.不能删除事件 第二:IE中监听函数 var oDiv;function fnClick(){ alert("click me"); oDiv.detachEvent("onclick",fnClick);//删除监听函数}window.onload = function(){ oDiv = document.getElementById("J_myDiv");//找到对象 oDiv.attachEvent("onclick",fnClick); //添加监听函数} 第三:标准DOM监听函数 var oDiv;function fnClick1(){ alert("click1"); // oDiv.removeEventListener("click",fnClick2,false); //删除监听函数2}function fnClick2(){ alert("click2");}window.onload = function(){ oDiv =

js 类的封装和继承(1)

青春壹個敷衍的年華 提交于 2019-12-21 02:06:51
prototype.js最令我心仪的功能之一,就是可以很容易使用类似JAVA语言一样的方式构建对象模型,如何使用prototype.js构建对象模型呢? 这是通过prototype.js定义的Class和Object两个对象来实现的。 假定我们需要构建一个Shape对象表示一种形状,这个形状有一个功能是把自己绘制出来,另外有一个子类Circle表示圆形,要实现这样的对象结构的完整代码如下: js 代码 var Shape = Class.create(); Shape.prototype={ initialize: function (){ }, paint: function (){ } }; var Circle = Class.create(); Circle.prototype=Object.extend( new Shape(), { //一个圆由中心点和半径组成 initialize: function (centerX,centerY,radius){ this .centerX = centerX; this .centerY = centerY; this .radius = radius; }, paint: function (){ } } 使用Class定义类 Class对象在声明其他的类的时候使用。用这个对象的create方法声明一个变量

浅谈JS的作用域链(二)

ε祈祈猫儿з 提交于 2019-12-21 01:44:21
上一篇文章中介绍了Execution Context中的三个重要部分:VO/AO,scope chain和this,并详细的介绍了VO/AO在JavaScript代码执行中的表现。 本文就看看Execution Context中的scope chain。 作用域 开始介绍作用域链之前,先看看JavaScript中的作用域(scope)。在很多语言中(C++,C#,Java),作用域都是通过代码块(由{}包起来的代码)来决定的, 但是,在JavaScript作用域是跟函数相关的,也可以说成是function-based。 例如,当for循环这个代码块结束后,依然可以访问变量"i"。 1 2 3 4 5 for (var i = 0 ; i < 3 ; i++){ console.log(i); } console.log(i); //3 对于作用域,又可以分为全局作用域(Global scope)和局部作用域(Local scpoe)。 全局作用域 中的对象可以在代码的任何地方访问,一般来说,下面情况的对象会在全局作用域中: 最外层函数和在最外层函数外面定义的变量 没有通过关键字"var"声明的变量 浏览器中,window对象的属性 局部作用域 又被称为函数作用域(Function scope),所有的变量和函数只能在作用域内部使用。 1 2 3 4 5 6 7 8 9 var

年月日联动的JS代码

丶灬走出姿态 提交于 2019-12-21 00:53:38
新建一个JS文件,起个名,把以下代码复制过去 function YYYYMMDDstart() { MonHead = [ 31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31 ]; // 先给年下拉框赋内容 var y = new Date().getFullYear(); for ( var i = (y - 30 ); i < (y - 10 ); i ++ ) // 以今年为准,显示前30年之后的20年 document.form1.YYYY.options.add( new Option( "" + i + "" , i)); // 赋月份的下拉框 for ( var i = 1 ; i < 13 ; i ++ ) document.form1.MM.options.add( new Option( "" + i + "" , i)); // document.form1.YYYY.value = y; //获取到当前年份 // document.form1.MM.value = new Date().getMonth() + 1; 获取到当前月份 var n = MonHead[ new Date().getMonth()]; if ( new Date().getMonth() == 1 &&

JS判断输入值是否为正整数

百般思念 提交于 2019-12-21 00:50:50
JS中的test是原来是JS中检测字符串中是否存在的一种模式,JS输入值是否为判断正整数代码: <script type=”text/javascript”>   function test() {     var num = document.getElementById(“num”).value;     if (num==”") {       alert(‘请输入内容’);       return false;     }     if (!(/(^[1-9]\d*$)/.test(num))) {       alert(‘输入的不是正整数’);       return false;     }else {       alert(‘输入的是正整数’);     }   } </script> <html> <body> <input type=”text” id=”num” /> <input type=”button” value=”测试” onclick=”return test()” /> </body> </html> 附判断数字、浮点的正则表达: ”^\\d+$” //非负整数(正整数 + 0) “^[0-9]*[1-9][0-9]*$” //正整数 “^((-\\d+)|(0+))$” //非正整数(负整数 + 0) “^-[0-9]*[1-9][0-9

js中var,let,const区别

拟墨画扇 提交于 2019-12-21 00:34:59
主要区别: let,const无变量提升 console.log(web); let web="hsdf.com"; //运行报错 let一般定义变量,而const一般定义常量 var有变量提升 console.log(web); var web="hsdf.com"; //运行结果为undefined 解释:此代码可理解为如下代码 var web; console.log(web); web="hsdf.com"; //运行结果为undefined 来源: CSDN 作者: 痞老板不痞 链接: https://blog.csdn.net/qq_42931734/article/details/103638061

爬虫的新模块pyppeteer的使用

偶尔善良 提交于 2019-12-20 22:38:05
安装 python3 -m pip install pyppeteer 最好是py3.5+ 手动安装 你懂的,天朝网络环境很复杂,如果要用 pyppeteer 自己绑定的 chromium ,半天都下载不下来,所以我们要手动安装,然后在程序里面指定 executablePath 。 下载地址 模块介绍 启动pyppeteer.launch launch 浏览器,可以传入一个字典来配置几个options,比如: browser = await pyppeteer.launch({ 'headless': False, # 关闭无头模式 'devtools': True, # 打开 chromium 的 devtools // 'executablePath': '你下载的Chromium.app/Contents/MacOS/Chromiu', //# 浏览器的存放地址 'args': [ '--disable-extensions', '--hide-scrollbars', '--disable-bundled-ppapi-flash', '--mute-audio', '--no-sandbox', '--disable-setuid-sandbox', '--disable-gpu', ], 'dumpio': True, }) browser = await launch(

js实现滑动拼图验证码

被刻印的时光 ゝ 提交于 2019-12-20 22:14:17
js实现滑动拼图验证码,我这个样式是仿那些大网站做了, 学习用的,只用到前端。 小的个人网站感觉还可以用,大一点的别人用机器一下就破解了。 下面看图示: 样子大概是这样的。 源码在这 百度网盘: 链接: https://pan.baidu.com/s/1htjxYBE 密码: m5aw 3.9MB 是因为里面绝大部分是图片 使用示例 代码里面都有 js源码 (function (window, document) { var SliderBar = function (targetDom, options) { // 判断是用函数创建的还是用new创建的。这样我们就可以通过MaskShare("dom") 或 new MaskShare("dom")来使用这个插件了 if (!(this instanceof SliderBar)) return new SliderBar(targetDom, options); // 参数 this.options = this.extend({ dataList: [] }, options); // 获取dom this.targetDom = document.getElementById(targetDom); var dataList = this.options.dataList; if (dataList.length > 0)

前端自动化Gulp工具常用插件

江枫思渺然 提交于 2019-12-20 21:09:40
npm init命令初始化当前文件夹后,在当前文件夹新建gulpfile.js文件。当前目录下的所有操作流都在gulpfile.js文件中定义。 gulp自动化 gulp-uglify (JS压缩) gulp-uglify安装: npm install --save-dev gulp-uglify gulp-uglify用来压缩js文件,使用的是uglify引擎。 var gulp = require('gulp'); //加载gulp var uglify = require('gulp-uglify'); //加载js压缩 // 定义一个任务 compass gulp.task('compass', function () { gulp.src(['js/*.js','!js/*.min.js']) //获取文件,同时过滤掉.min.js文件 .pipe(uglify()) .pipe(gulp.dest('javascript/')); //输出文件 }); 小技巧,第二个参数 '!js/*.min.js' 是用来过滤掉后缀为min.js,!感叹号为排除模式。 gulp-minify-css(CSS压缩) gulp-minify-css安装: npm install --save-dev gulp-minify-css 可以使用它来压缩CSS文件 var gulp =

static变量与js闭包

我与影子孤独终老i 提交于 2019-12-20 19:49:00
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 0、一句话定义闭包,子函数可以定义父函数的局部变量 1、几个关键字 define 定义宏(C语言),定义常量(php) static 定义相当于位置在函数内的全局变量(生命周期与函数定义域无关),但只对函数可见,函数可改变其值 const 定义常量(PHP 5.3.0+) 2、php使用静态变量: <?php function add(){ static $n = 0; $n++; echo $n . '<br />'; } add();//输出 1 add();//输出 2 3、js使用闭包 function f1(){ var n=0; function f2(){ n++; console.log(n); } return f2; }   var add=f1();   add();//输出 1   add();//输出 2      //闭包两大特点:1、访问局部变量,2、一直保存在内存中 4、个人js闭包的理解,欢迎斧正 1、由于js没法像一般语言C++,PHP等使用static达到函数内全局变量的效果,故使用闭包的一直保存在内存的特性达到了这个效果,如上面php和js代码的效果 2、闭包的特点使函数拥有了类的感觉,访问局部变量好比访问私有属性,闭包相当于类的公共函数,调用外部函数好比类实例化