js代码

js(Dom+Bom)第一天(2)

依然范特西╮ 提交于 2020-03-11 01:08:05
webAPI 00-复习 内置对象中的方法 01-JavaScript组成 知识点-ECMASCRIPT 重点回顾 存储容器 变量 数组 对象 逻辑语法 分支语句 循环语句 switch语句 知识点-BOM 概念 Browser Object Model ( 浏览器器对象模型 ) 操作浏览器 将浏览器看做是一个对象 . 作用 通过js操作浏览器中相关操作 知识点-DOM 什么是DOM? Document Object Model ( 文档对象模型 ) 详解DOM 什么是文档 HTML 文件就是一个文档 - 什么是文档对象 ```js 将整个网页封装成一个对象,这个对象叫文档对象(document) ``` - 为什么要学DOM? ```js 在网页中常常涉及到需要用户操作网页,比如点击, 鼠标进入, 鼠标离开等,ECMASCRIPT是无法实现,只能通过DOM操作实现 目的: 通过js操作网页. ``` - **JS操作网页的原理** - DOM树操作 ```js 浏览器在加载html文件时,会把文档、文档中的标签、属性、文本、注释转换成对象,然后按照标签的关系(父子、兄弟、祖孙)以树状结构存储到内存中。 ``` - 元素 ```js 元素特指: HTML标签 ``` - 节点 ```js HTML文档中的所有元素的总称称为节点,每一个标签,每一个文本,每一个符号(回车,空格

JS异步加载的方式

痞子三分冷 提交于 2020-03-10 19:49:49
方法一:Script Dom Element 1 2 3 4 5 6 7 8 (function(){ var scriptEle = document.createElement("script"); scriptEle.type = "text/javasctipt"; scriptEle.async = true; scriptEle.src = "http://cdn.bootcss.com/jquery/3.0.0-beta1/jquery.min.js"; var x = document.getElementsByTagName("head")[0]; x.insertBefore(scriptEle, x.firstChild); })();    <async>属性是HTML5中新增的异步支持。此方法被称为Script DOM Element方法 1 2 3 4 5 6 7 8 (function(){; var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google

js变量

元气小坏坏 提交于 2020-03-10 18:02:45
操作的数据都是在内存中进行 js中存储数据使用变量的方式(名字,值----->数据) js中声明变量都用var------>存储数据,数据都有对应的数据类型 js中字符串类型的值都用双引号括起来 js中每一行代码的结束都应该有分号; 变量-----> 存储数据的 变量声明(有var,有变量名字,没有值) var x; 变量初始化(有var,有变量名字,有值) var x = 10; | = 的意义:赋值 变量的命名规范 变量的名字要有意义 变量名一般以字母,$符号,_ 下划线开头,中间或者后面可以有$符号,字母,数字 变量名一般都是小写的 变量名如果有多个单词,第一个单词的首字母是小写的,后面所有单词的首字母都是大写的,这种命名方式称为驼峰命名法 变量名不能已关键字,保留字来命名 变量的名字不能重复 变量交换内容 方法① var num1 = 10; var num2 = 20; //设置一个空的容器 var temp; temp = num1; num1 = num2; num2 = temp; console.log(num1,num2); 方法② var num1 = 10; var num2 = 20; num1 = num2 + num1; //30 num2 = num1 - num2; //10 num1 = num1 - num2; console.log(num1

Js逆向-滑动验证码图片还原

时光毁灭记忆、已成空白 提交于 2020-03-10 16:36:26
本文列举两个例子:某象和某验的滑动验证 一、某验: aHR0cHM6Ly93d3cuZ2VldGVzdC5jb20vZGVtby9zbGlkZS1mbG9hdC5odG1s 未还原图像: 还原后的图: 从服务端请求来的图片是打乱后的,给用户看的时候是完整的,这个过程肯定是运行了某段js代码,将打乱的图片进行还原操作。所以我们需要找到这段js,然后还原它的代码逻辑,实现图片的还原操作,找到缺口距离,实现滑动操作。 如果你仔细观察的话,你会发现还原后的图它是canvas生成出来的 那你应该会想到,那段js中会生成canvas,然后使用它下面的一些方法,实现图片的还原操作,所以我们需要知道他啥时候生成canvas,找到位置,然后慢慢往下调试,找到还原代码。 这时我们就需要使用油猴插件,进行hook了。如果对油猴不了解的同学,可以谷歌百度下,学习下,这是非常有用的,代码如下: // ==UserScript== // @name hook createElement // @namespace http://tampermonkey.net/ // @version 0.1 // @description try to take over the world! // @author 朱宇 // @match *://*/* // @grant none // ==/UserScript==

angular js {{}} 闪烁问题解决

情到浓时终转凉″ 提交于 2020-03-10 05:35:23
在使用{{ }}时因为加载顺序的原因,可能在页面显示的时候会有“闪烁”现象,这是因为{{}}在加载的时候,若网速不好或者首页还未加载angular库时,其会显示出来,然后等到AngularJS才能把它解析成原本应该显示的内容,所以一般建议ng-bind在首页加载的时候使用,{{}}建议是首页意外的页面使用。 解决方法: 添加 ng-cloak 指令:该指令用于在 AngularJS 应用在加载时防止 AngularJS 代码未加载完而出现的问题。 <h1 ng-cloak>{{ text }}</h1> 来源: CSDN 作者: 纳川121 链接: https://blog.csdn.net/weixin_39530695/article/details/104751189

js大文件上传

两盒软妹~` 提交于 2020-03-09 22:45:36
一般 10M 以下的文件上传通过设置 Web.Config, 再用 VS 自带的 FileUpload 控件就可以了 , 但是如果要上传 100M 甚至 1G 的文件就不能这样上传了。我这里分享一下我自己开发的一套大文件上传控件供大家参考 这是前端代码: < body > < div id ="app"> {{ message }} < http-uploader6 ></ http-uploader6 > </ div > < script type ="text/javascript"> // 定义一个名为 button-counter 的新组件 Vue.component( 'http-uploader6' , { data() { return { upApp: null } }, mounted() { // 初始化 up6 const _this = this ; this .upApp = new HttpUploaderMgr(); this .upApp.load_to( "up6-div" ); }, destoryed() { //this.editor.destory(); }, methods: { open_file: function () { this .upApp.openFile(); } , open_folder: function () {

JS变量之赋值1

浪尽此生 提交于 2020-03-09 20:04:27
<script> function show(){ var a=b=c=d=5; } show(); alert(a);//弹a时报错(not defined),而b、c、d都能弹出5 </script> <script> function show(){ var a=5,b=6,c=7; } show(); alert(c);//弹出a、b、c全都报错 </script> 为什么在函数一中,只有变量a被声明? 因为赋值是从右向左结合: var a=b=c=d=5; 等价于 var a=(b=(c=(d=5))); ,其中只有a被声明了,b,c和d都是自动解析为全局变量了。 为什么在函数二中,变量a、b、c都都被声明了?语法就这样规定的: 概述变量声明语句,声明一个变量并且可以同时初始化该变量。 语法 var varname1 [= value1 [, varname2 [, varname3 ... [, varnameN]]]]; varnameN 变量名。变量名可以定义为任何合法标识符。 valueN 变量的初始化值。该值可以为任何合法表达式。 描述 变量声明无论出现在代码的任何位置,都会在任何代码执行之前处理。使用var语句声明的变量的作用域是当前执行>位置的上下文:一个函数的内部(声明在函数内)或者全局(声明在函数外)。 来源: https://www.cnblogs

js中变量的连续赋值

微笑、不失礼 提交于 2020-03-09 19:21:28
  今天遇到了一个连续赋值的经典案例,网友们给出的答案也是五花八门,看起来有些繁琐,我也来说说自己的看法。   下面就是这个经典案例: var a = {n: 1}; var b = a; a.x = a = {n: 2}; console.log(a);console.log(b); console.log(a.x); console.log(b.x);     我们先来看一下普通连续赋值,即:变量赋值的类型是数据类型值 var a=3; var b=a=5; console.log(a); console.log(b);    一般来说,等号赋值的方向是从右至左,那么上面的代码等同于下面这段代码,那么我们就用下面这段代码来解释上面的代码: var a=3;  //全局变量a被赋值为3 var a=5;  //此时a被重新赋值为5 var b=a;  //将a的值赋给全局变量b   console.log(a);//a最终的值就是第二次被赋的值:5  console.log(b);//按照代码执行顺序b的值也是:5    上面的小案例用来抛砖引玉,现在我们来分析这个经典案例: var a = {n: 1};//a第一次被赋值,是一个引用类型值,请记得变量赋值为引用类型值的时候,通过变量改变这个对象的时候,对象本身也发生了变化 var b = a;//b被赋值为a,因此b就是对象

JavaScript程序开发(八)—js语法之数据类型

三世轮回 提交于 2020-03-09 19:06:25
  由于环境关系,今天下定决心,要在半年之内,让自己的技术水平有一个很大的提高,而不能仅仅限于在自己的工作范围之内,但是我做的工作,绝不是为了某些人而做,是为了给自己争口气,即所谓人活一张脸,树活一张皮!废话少说,进入正题,接着昨天的题目,继续js的数据类型。 Boolean类型   Boolean类型是js中使用的最多的一种数据类型,该类型只有两个值:true和false。这两个数值和数字值不是一回事,因此true不一定等于1,false也不一定等于0。如下实例是为变量赋Boolean类型值的例子: var flag = true; var lost = false;   关于Boolean类型有一点需要注意的是Boolean类型的字面值是区分大小写的,也就是说True和False并不是Boolean类型数据,而只是普通标示符,但未了增加代码的易读性和避免一些不必要的问题出现,不建议用这两个标示符做变量。   虽然Boolean类型只有两个值,但是所有类型的数据都可以通过Boolean()函数转换成对应的Boolean类型值。如下实例代码所示: var flag = "Hello World!"; var msg = Boolean(flag);   各种数据类型与Boolean类型的转换规则如下表所述: 数据类型 转换为true 转换为false Boolean true

js -- 中国地图

可紊 提交于 2020-03-09 17:32:53
记录一下2020年2月10号在家办公的紧急需求,中国疫情地区数量分布图。 如下代码: // 地图 数量地区分布接口 $.ajax({ url: url, type: 'post', dataType: 'json', contentType: 'application/json', success: function (data) { if (data.status == 0) { var mapData = []; $.each(data.data.privinceInfo, function (i, p) { mapData.push({name: p.privince, value: p.comfirData}); }) mapData.push({name: '南海诸岛', value: 0}); // console.log(mapData); myChartMap = echarts.init(document.getElementById('main-map')); $.get('js/map.json', function (geoJson) { echarts.registerMap('china', geoJson); //和下面名字一致 var option1 = { title: { text: '', }, tooltip: { trigger: