js

[Js]面向对象的拖拽

纵饮孤独 提交于 2020-01-23 14:30:18
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <style> #div1 {width:100px; height:100px; background:red; position:absolute;} #div2 {width:100px; height:100px; background:yellow; position:absolute;} </style> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script> window.onload=function(){ new Drag("div1"); new Drag("div2"); } function Drag(id) { var _this=this; this.oDiv=document.getElementById(id); this.disX=0; this.disY=0; this.oDiv.onmousedown=function(ev){ _this.fnDown(ev); return false; }; } Drag.prototype.fnDown=function(ev) { var _this=this

js中const,var,let区别

守給你的承諾、 提交于 2020-01-23 13:31:15
今天第一次遇到const定义的变量,查阅了相关资料整理了这篇文章。主要内容是:js中三种定义变量的方式const, var, let的区别。 1.const定义的变量不可以修改,而且必须初始化。 const b = 2;//正确 // const b;//错误,必须初始化 console.log('函数外const定义b:' + b);//有输出值 // b = 5; // console.log('函数外修改const定义b:' + b);//无法输出 2.var定义的变量可以修改,如果不初始化会输出undefined,不会报错。 var a = 1; // var a;//不会报错 console.log('函数外var定义a:' + a);//可以输出a=1 function change(){ a = 4; console.log('函数内var定义a:' + a);//可以输出a=4 } change(); console.log('函数调用后var定义a为函数内部修改值:' + a);//可以输出a=4 3.let是块级作用域,函数内部使用let定义后,对函数外部无影响。 let c = 3; console.log('函数外let定义c:' + c);//输出c=3 function change(){ let c = 6; console.log(

js去除空格

别等时光非礼了梦想. 提交于 2020-01-23 13:29:41
str为要去除空格的字符串: 去除所有空格: str = str.replace(/\s+/g,""); 去除两头空格: str = str.replace(/^\s+|\s+$/g,""); 去除左空格: str=str.replace( /^\s*/, ''); 去除右空格: str=str.replace(/(\s*$)/g, ""); SCRIPT LANGUAGE= "JavaScript" > <!-- //出处:网上搜集 // Trim() , Ltrim() , RTrim() String.prototype.Trim = function() { return this .replace(/(^\s*)|(\s*$)/g, "" ); } String.prototype.LTrim = function() { return this .replace(/(^\s*)/g, "" ); } String.prototype.RTrim = function() { return this .replace(/(\s*$)/g, "" ); } //--> </SCRIPT> <input type= "text" value= " 前后都是空格 " id= "space" > <input type= "button" value= "去前后空格"

js 获取屏幕各种宽高的方法

旧街凉风 提交于 2020-01-23 13:24:10
屏幕的有效宽高: window.screen.availHeight window.screen.availWidth 网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHeight (包括边线的宽) 网页正文全文宽:document.body.scrollWidth 网页正文全文高:document.body.scrollHeight 网页被卷去的高:document.body.scrollTop 网页被卷去的左:document.body.scrollLeft 网页正文部分上:window.screenTop 网页正文部分左:window.screenLeft 屏幕分辨率的高:window.screen.height 屏幕分辨率的宽:window.screen.width 屏幕可用工作区高度:window.screen.availHeight 屏幕可用工作区宽度:window.screen.availWidth HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth scrollHeight:

JS中类和对象,以及new关键字

给你一囗甜甜゛ 提交于 2020-01-23 11:44:39
1、什么是类 生活中 :一类、种类 编程中 : 类指的是抽象的名称( 构造函数 ):例如,狗🐶 class 关键字, ES6之前没有类的概念 。 在ES3或ES5中通过 构造函数 来创建对象 构造函数: 内置的:Object、Date、Array等 自定义:例如,Dog...... 2、什么是对象 生活中 :万物皆对象。任何具体的事和物都可以看成对象 编程中 :对象由 属性 和 方法 组成(或由键值对)。 具体的 实例,实例对象 属性:对象的静态特征,例如某人的,姓名、年龄、身高、性别等 方法:对象的功能特征,例如某人,画画、写代码等 注意事项 : 方法的值用什么表示,用函数来表示 对象方法中的 this,指向调用者 。 3、类(构造函数)和对象的关系 类是对象的模板 对象是类的具体实例(通过关键字 instanceof 检测一个对象是否属于某一个类型) 语法: 对象名 instanceof 构造函数名; 返回布尔值 创建对象得通过类(构造函数)创建 new 构造函数() → 具体的实例(实例对象) 4、创建对象 语法:自定义构造函数(类) function 构造函数名(行参...){   this.key = value; ....... } // 注意规范:构造函数名首字母要大写 帕斯卡(每个单词首字母大写) 驼峰(从第二个单词开始首字母大写) 语法: new 关键字创建对象

js中关于array的常用方法

China☆狼群 提交于 2020-01-23 11:40:28
最近总结了一些关于array中的常用方法, 其中大部分的方法来自于《JavaScript框架设计》这本书, 如果有更好的方法,或者有关于string的别的常用的方法,希望大家不吝赐教。 第一部分 数组去重,总结了一些数组去重的方法,代码如下: /** * 去重操作,有序状态 * @param target * @returns {Array} */ function unique(target) { let result = []; loop: for (let i = 0,n = target.length;i < n; i++) { for (let x = i + 1;x < n;x++) { if (target[x] === target[i]) { continue loop; } } result.push(target[i]); } return result; } /** * 去重操作,无序状态,效率最高 * 都会转换为字符串 * @param target * @returns {Array} */ function unique1(target) { let obj = {}; for (let i = 0,n = target.length; i < n;i++) { obj[target[i]] = true; } return Object.keys

初识JS

眉间皱痕 提交于 2020-01-23 11:07:06
`` 什么事JavaScript? JavaScript是一种具有面向对象能力的,解释型的程序设计语言。更具体一点,它是基于对象和事件驱动并具有相对安全性的客户端脚本语言。 前端三层: HTML :页面结构 CSS :页面样式 JavaScript:交互,行为 ECMScript 是JavaScript的标准 JavaScript的组成 1. ECMAScript 2. 文档对象,模型( DOM ) 3. 浏览器对象模型( BOM ) JS 基本写法 //行间JS,不要这么写 < button onclick = alert ( "点我干啥,我忙着呢" ) > button < / button > //使用script标签引入JS < script > alert ( "Hello world!" ) ; < / script > //引入外部JS文件 < script src = "js/myjs.js" > < / script > 行为习惯 JS 中的单行注释 Ctrl + / js中的多行注释Ctrl + shift + / 分号不能省略 alert ( 'alert' ) ; alert ( 'alert2' ) 来源: CSDN 作者: 付娟的个人 链接: https://blog.csdn.net/Steamgirl/article/details

从0开发3D引擎(七):学习Reason语言

雨燕双飞 提交于 2020-01-23 11:06:19
目录 上一篇博文 介绍Reason Reason的优势 如何学习Reason? 介绍Reason的部分知识点 大家好,本文介绍Reason语言以及学习Reason的方法。 上一篇博文 从0开发3D引擎(六):函数式反应式编程及其在引擎中的应用 介绍Reason Reason又叫Reasonml,是在Ocaml语言的基础上修改而来,由Facebook ReactJs的开发组开发和维护。 Reason是函数式编程语言,由Bucklescript编译器将其编译为javascript语言。 Reason是专门提供给前端开发者使用的,相对于Ocaml,语法上与javascript更为接近。 Reason的优势 1、从“发展前景”来说: 1)大公司Facebook出品,质量、稳定性、后续维护升级有保证 2)Reason是基于OCaml的,因此随着Ocaml的版本更新,Reason和Bucklescript也会支持Ocaml的新特性 3)函数式编程越来越火,它也在3D引擎中越来越多地使用(如Frostbite公司提出的Frame Graph架构和Data Oriented思想都需要结合函数式编程) 2、从“性能”来说: 1)Reason支持mutable的操作和数据结构 可在性能热点处使用它们,提高性能 2)对浏览器的JIT编译友好,提升了运行时性能 因为Reason是强类型语言

js上下滚动监控

感情迁移 提交于 2020-01-23 10:53:38
<body> <div class="wrap"> <div class="scroll"></div> </div> </body> <script type="text/javascript"> var scrollTop = 0; var t = 0; var wrapdom=document.querySelector('.wrap'); wrapdom.onscroll=function () { scrollTop =wrapdom.scrollTop; //滚动高度 if (t <= scrollTop) { console.log("往下滚动"); } else { console.log("往上滚动"); } t = scrollTop; }; </script> 来源: CSDN 作者: one minute fly 链接: https://blog.csdn.net/formylovetm/article/details/104074280

JS string内置对象 笔记整理

╄→гoц情女王★ 提交于 2020-01-23 08:37:39
以下是 javascript 的string内置对象及用法 /* * 字符串可以看成 有字符组成的数组 但是js中 没有字符类型 * js中的字符 用单引号 或双引号 * 字符串的特性【不可变性】 即 字符串的值是不可改变的 除非重新赋值 * 字符串有length属性 可以遍历 通过字符串的索引 获取指定的字符 但是不能 根据对应的索引 更改对应的值 * * 字符串的常用属性 和方法 * * */ var str = " 123456789 " ; //字符串的长度 .length; console . log ( str . length ) ; //获取 .charAt(); 通过下标 找字符 字符串中 第n个字符 、返回值 第n个下标对应的字符 找不到 返回 空 console . log ( str . charAt ( 9 ) ) ; //拼接字符串 字符串名.concat(字符串1 , 字符串2) console . log ( str . concat ( "hhh" , "jjj" ) ) ; // console.log(str); // .indexOf( 要找的字符 , 开始找的下标 ) 寻找具体要找的字符 找到返回下标 否则 -1 console . log ( "indexOf 结果" + str . indexOf ( "3" , 0 ) ) ; /