js代码

JS基础语法

末鹿安然 提交于 2019-12-25 07:31:15
1.什么是变量 什么是变量? 从字面上看,变量是可变的量;从编程角度讲,变量是用于存储某种/某些数值的存储器。我们可以把变量看做一个盒子,盒子用来存放物品,物品可以是衣服、玩具、水果...等。 2.给变量取个名字(变量命名) 我们为了区分盒子,可以用BOX1,BOX2等名称代表不同盒子,BOX1就是盒子的名字(也就是变量的名字)。 我们赶快给变量取个好名字吧! 变量名字可以任意取, 只不过取名字要遵循一些规则: 1.必须以字母、下划线或美元符号开头,后面可以跟字母、下划线、美元符号和数字。如下: 正确: mysum _mychar $numa1 错误: 6num //开头不能用数字 %sum //开头不能用除(_ $)外特殊符号,如(% + /等) sum+num //开头中间不能使用除(_ $)外特殊符号,如(% + /等) 2.变量名区分大小写,如:A与a是两个不同变量。 3.不允许使用JavaScript关键字和保留字做变量名。 3.确定你的存在(变量声明) 我们要使用盒子装东西,是不是先要找到盒子,那在编程中,这个过程叫声明变量,找盒子的动作,如何表示: 声明变量语法: var 变量名; var就相当于找盒子的动作,在JavaScript中是关键字(即保留字),这个关键字的作用是声明变量,并为"变量"准备位置(即内存)。 var mynum ; //声明一个变量mynum

js原型链接(二)和object类的create方法

回眸只為那壹抹淺笑 提交于 2019-12-25 05:54:06
原型链的内部执行方式 <script> function Myclass(){ this.x=" x in Myclass"; } var obj=new Myclass(); p(obj.x); p(obj.z); //undefined Myclass.prototype.z="z in Myclass"; p(obj.z); //首先查找自身属性,如果没有找到 将沿着原型链接 查找构造函数(Myclass)的prototype对象里找 </script> 属性的重写与删除与原型链无关 <script> function Myclass(){ this.x=" x in Myclass"; } Myclass.prototype.y="y in Myclass"; var obj=new Myclass(); p(obj.y);//y in Myclass obj.y="override y"; p(obj.y);//override y delete obj.y //true p(obj.y);//y in Myclass var obj2=new Myclass(); p(obj2.y);//y in Myclass obj.z='zzz'; p(obj.z);//zzz p(obj2.z);//undefined p(obj.prototype);//undefined

微信电子健康卡——实现前端上传身份证通过身份证OCR接口读取身份证数据

爷,独闯天下 提交于 2019-12-25 04:46:57
页面代码: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Regist_new.aspx.cs" Inherits="SysFrameWeb.View.ViewChat.Regist_new" %> <!DOCTYPE html> <html> <head> <title>电子健康卡</title> <%-- <script type="text/javascript" src="https://js.aq.qq.com/js/aq_common.js"></script>--%> <meta charset="utf-8" /> <meta name="format-detection" content="telephone=no" /> <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> <meta name="mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /

虚拟DOM的实现原理和优劣对比

為{幸葍}努か 提交于 2019-12-25 04:46:49
虚拟DOM的实现原理和优劣对比 Web 界面由 DOM 树(树的意思是数据结构)来构建,当其中一部分发生变化时,其实就是对应某个 DOM 节点发生了变化。 虚拟 DOM 就是为了解决浏览器 性能 问题而被设计出来的。如前,若一次操作中有10次更新DOM的动作,虚拟DOM不会立即操作DOM,而是将这10次更新的diff内容保存到本地一个JS对象中,最终将这个JS对象一次性attch到DOM树上,再进行后续操作,避免大量无谓的计算量。所以,用JS对象模拟DOM节点的好处是,页面的更新可以先全部反映在JS对象(虚拟DOM)上,操作内存中的JS对象的速度显然要更快,等更新完成后,再将最终的JS对象映射成真实的DOM,交由浏览器去绘制。 虚拟DOM概念随着react的诞生而诞生,由facebook提出,其卓越的性能很快得到广大开发者的认可;继react之后vue2.0也在其核心引入了虚拟DOM的概念; 本章节,我们来逐步学习虚拟DOM的原理及其性能的优劣知识点梳理: 什么是虚拟DOM ? 虚拟dom可以看作是一个使用javascript模拟了DOM结构的树形结构,这个树结构包含整个DOM结构的信息,如下图所示: 为什么使用虚拟DOM ? 之前使用原生 js 或者 jquery 写页面的时候会发现操作 DOM 是一件非常麻烦的一件事情,往往是DOM标签和js逻辑同时写在js文件里

js与php传递参数

 ̄綄美尐妖づ 提交于 2019-12-25 03:46:50
http://jingyan.baidu.com/article/0aa22375b722ba88cd0d6446.html 这个问题在网页开发时经常遇到,其实解决办法非常简单,就是 几行代码的事 ,不过各种 js、php书上都没有 ,百度下来也乱七八糟的,有的能用,有的不能用。小编遇到这问题时 认认真真研究了一上午 ,研究出一点心得, 希望可以帮到你 ! 方法/步骤 第一种情况: 两个不在同一页面 (js一个页面,php在另一个页面) 第一种方法: 通过 url传参 。js传过去,php接收,或者php传过去,js接收。 这里展示一下 js传过去,php接收 的情况。 我用的 jquery ,写的方便。js的DOM操作麻烦。 js通过url传过去,最重要的是 更改url 。 代码: $(form的id).attr("action",新的url地址); 这个是 更改form的action的url 来达到传参的目的。 当然表格完成之后一般都会跳转,将数据传到跳转后的回执页面,在那里进行数据库操作。 贴一下我的代码,以这个为样例来详细介绍。如图 再说一下php接收过程,这个很简单的。用到的命令是: $ss=$_POST["url中的参数名"]; 非常简单,php会自动识别url并分析出参数值。但需要注意的是:form表格的 method属性要是post

JS生成UUID

时光毁灭记忆、已成空白 提交于 2019-12-25 03:24:27
一、UUID是什么 UUID就是Universal Unique IDentifier的缩写,它是一个128位,16字节的值,并确保在时间和空间上唯一。 它是把硬件地址、时间以及随机数结合在一起,它保证对在同一时空中的所有机器都是唯一的。 通常平台会提供生成UUID的API。UUID按照开放软件基金会 (OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得),UUID的唯一缺陷在于生成的结果串会比较长。关于UUID这个标准使用最普遍的是微软的GUID (Globals Unique Identifiers)。 一般情况下,生成 算法 用计算机网卡的地址和一个60位的timestamp生成,时间是以100ns为时间间隔。 例如,一台300PL 6862的计算机,主板集成的网卡的MAC地址为00-04-AC-2E-B7-DC,而UUID的最后六个字节也会是0004AC2EB7DC 一般我们都知道使用 Java 如何创建UUID,如下: java类:java.util.UUID UUID是1.5中新增的一个类,在java

JS拖动浮动DIV

孤街浪徒 提交于 2019-12-25 01:18:26
<!DOCTYPE html> <html> <head> <meta charset="utf8"> <title>js拖拽效果</title> <style type="text/css"> #div1 { width : 200px; height: 200px; position: absolute; background: #99dd33; cursor: move; } </style> </head> <body> <div id="div1"></div> </body> <script type="text/javascript"> // js代码 window.onload=function() { var disX = disY = 0; // 鼠标距离div的左距离和上距离 var div1 = document.getElementById("div1"); // 得到div1对象 // 鼠标按下div1时 div1.onmousedown = function(e) { var evnt = e || event; // 得到鼠标事件 disX = evnt.clientX - div1.offsetLeft; // 鼠标横坐标 - div1的left disY = evnt.clientY - div1.offsetTop; // 鼠标纵坐标 -

js学习笔记2

拟墨画扇 提交于 2019-12-25 00:24:04
  js中不存在块级作用域。即循环内部定义的变量在循环外也可以访问。   do-while 循环是后测试循环。while循环和for循环是前测试循环。switch语句在比较值(case:后的表达式)的时候用的是全等操作符(===)。   在函数中 return 之后的语句不会被执行。js中函数不介意传递进来多少个参数,也不在乎参数的类型,多传了不影响,少传了默认为 undefined。   js 的函数不存在函数重载,如果定义了两个同名的函数则名字只属于后定义的函数。只能给引用类型动态的添加属性,基本类型不能这么做。   变量的赋值   基本类型赋值会在变量对象上创建一个新值,和之前的值不会相互印影响.   引用类型赋值传递的是指针,将一个引用类型赋值给另一个引用类型时,他们指向的是堆中的同一个对象,对这个对象的修改会相互影响。   函数中参数的传递都是值传递,但是参数传入引用类型的时候如果不对参数重新进行赋值则会对函数外部传入的对象产生影响(恰恰可以说明是值传递而不是传地址)。因为指向的是堆中的同一个对象。   执行环境和作用域    一个执行环境的代码执行完毕之后会执行环境会销毁,其中对应的变量和函数也会销毁。   每个函数都有自己的执行环境,当执行流进入下一个函数时,函数的环境会被推入到一个环境域中。   作用域链:内部环境可以通过作用域链访问所有的外部环境。  

给HTML、CSS、JS三兄弟排座次

北战南征 提交于 2019-12-24 23:49:31
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 每当有小白在前端这个圈子的外围试探,想要进入这个"门槛低收入高"的工种时,老江湖们就会用各种前端框架以及框架配套的技术栈和开发理念把小白们吓个半死,最不济也要用JS里一堆奇门遁甲式的编程妖术恐吓一番,以让新手心存敬畏。相反忽略了作为前端而言,最核心最重要,真正关系生存的HTML和CSS的重要性。 这个原因可能跟HTML和CSS本身的特性有关,因为它们严格意义上说不能叫“编程语言”,连基本的if、else、for都没有,所以作为前端哪怕是以“码农”做自嘲,都没有其他语言工种来得有底气,只有JS看前来最像一门“真正的编程语言”,尽管这门语言也是连它的生父都吐槽它,更是长期被“古典程序员”们当作玩具脚本。而集JS使用的大成者,就是各种前端框架。为了证明我们是”真正的程序员“,是写JS的,不知不觉就忽略了HTML+CSS。另外,我也发现一般互联网公司而言,对HTML+CSS完成的页面质量要求也是越来越低了,自己先后跳槽的3个公司,一家比一家名气大,一家比一家工资高,但是就纯粹的html页面而言,无论是页面对设计稿的还原度,还是兼容要求,适配要求,页面体积要求都是越来越低了,相反对JS的使用确实比重越来越大,这样今天的前端的HTML+CSS水平确实可能不如初期,确实更简单,变得不那么重要了。但是即便如此

排序图解:js排序算法实现

故事扮演 提交于 2019-12-24 20:30:10
之前写过js实现数组去重, 今天继续研究数组: 排序算法实现 。 排序是 数据结构 主要内容,并不限于语言 主要在于思想 ;大学曾经用C语言研究过一段时间的排序实现, 这段时间有空用JS再将 排序知识点 熟悉一遍。 理解排序不得不提的是日本人实现的一个 排序动画站 , 该站对于研究排序大有益处。当然本文的排序算法并不与其一致, 本文是 9种js排序实现 的实践与完善: 理解其9种算法然后使每种算法代码均能正常运行。 1.插入排序 最普通的排序算法, 从数组下标1开始每增1项排序一次,越往后遍历次数越多; 原理图: 代码: // 插入排序 从下标1开始每增1项排序一次,越往后遍历次数越多 function sort1(array) { var len = array.length, i, j, tmp, result; // 设置数组副本 result = array.slice(0); for(i=1; i < len; i++){ tmp = result[i]; j = i - 1; while(j>=0 && tmp < result[j]){ result[j+1] = result[j]; j--; } result[j+1] = tmp; } return result; } 2.二分插入排序 插入排序 的一种优化实现, 通过 二分法 减少遍历时间。 原理图: 代码: