js

js -- javascript

江枫思渺然 提交于 2020-01-29 19:37:29
js -- javascript ECMAscript5 ECMAscript6 -- vue.js react .. 由三个部分组成 1 ECMAscript5的核心 js语言 2 BOM 浏览器对象模型 js操作浏览器,做出对应的一些效果 3 DOM 文档对象模型 -- HTML文件 js代码引入方式 ​ 三种方式 1 head标签的script标签里面(alert('xx'), confirm('xx')) 2 body标签的script标签里面 3 外部文件引入的方式来使用 a 创建一个.js结尾的文件,写上咱们的js代码 比如:alert('are you ok?'); b 在想使用这个js代码的html文件中,head标签或者body标签下面或者上面写下面的内容 <script src="01test.js"></script> js语言基础 变量 var a = 10; 变量定义 var 变量名; 数据类型 number类型(整数,浮点数) var n = 11; var n2 = 11.11; js代码注释 // js代码 查看数据类型 typeof 变量名; typeof n; -- number类型 变量声明,但没有赋值的时候,变量的值为undefined string类型(字符串) 示例: var a = 'alexsb'; var a = new

lazyload延迟加载组件

霸气de小男生 提交于 2020-01-29 17:27:54
lazyload现在网上已经用的很多(淘宝商城,新浪微博等等),先放demo: mylazyLoad.zip 效果: <div id="redbox1" onclick="alert('js执行了')" class="redbox">点击我</div> <div class="bluebox"></div> <div class="redbox"></div> <div class="bluebox"></div> <div class="redbox"></div> <div class="bluebox"></div> <div class="redbox"></div> <div class="bluebox"></div> <div class="redbox"></div> <div class="bluebox"></div> <div class="redbox"></div> <div class="bluebox"></div> <div class="redbox"></div> <div class="bluebox"></div> <div class="redbox"></div> <div class="bluebox"></div> <div class="redbox"></div> <div class="bluebox"></div> <div

《JS高级程序设计》要点总结

允我心安 提交于 2020-01-29 17:24:26
第1章 没记下啥,多读几遍再写吧。 第2章 在HTML中使用JavaScript 包含在< script>元素内部的JavaScript代码将被从上至下依次解释,解析js代码时(包括下载js文件时),页面的处理也会暂时停止,因此通常将js代码放入< head>标签内的最后几行; < script>的src属性可以包含来自外部域的js文件;(安全性问题) 延迟脚本,< script>标签的defer属性,当defer = “defer”,js脚本将会延迟到浏览器遇到< /html>时才执行,理应按顺序,但实际情况不一定按顺序,因此最好只包含一个延迟脚本; 异步脚本,< script>标签的asynv属性,只适用于外部脚本文件,并告诉浏览器立即下载,但并不保证按先后顺序执行; 推荐使用外部文件: 1)易于维护 2)可缓存:若多个页面使用同一js文件,只需下载一次,加快了页面加载速度 不理解的:指定async属性的目的不是让页面等待两个脚本下载和执行,从而异步加载其他内容。为此,建议异步脚本不要在加载期间修改DOM?(P14) < noscript>当浏览器不支持JavaScript时让页面平稳地退化; 1)浏览器不支持脚本 2)浏览器支持脚本,但脚本被禁用 <noscript> <p>本页面需要浏览器支持(启用)JavaScript。</p> </noscript> 第3章 基本概念

js基础数据类型及变量

删除回忆录丶 提交于 2020-01-29 13:46:39
1.基础数据类型 Number.数字类型(不区分整数,和小数)、string字符串类型、Bool布尔类型(true/flase)、null空类型、undefind未定义、object对象类型、 2.声明使用常量和变量 常量:不能改变的数值 变量:可以改变的数值 声明一个变量需要关键字var。语法 var空格变量名(自定义)=“内容” 例:var a=“你好js” 在编程中单等号是赋值不是等于、作用将符号右侧的数据储存到左侧的变量中 创建变量:var= a向系统申请一块内存空间 定义变量:a = 1 向已经存在的变量赋值数字1 声明且定义:var a=1; console.log(a)输出到控制台最常用的检测方法(没有之一) alert() 作用:将内容输出到语法自带的提示框,这个提示框通常用于测试,在页面中弹出,不用于实际开发,会暂时阻断程序的运行,知道用户点击提示框中的确定才会消失,程序继续运行。 语法:alert(内容) typrof 检测数据类型 语法:typeof+空格+需要检测的数据 console.log(typrof a); 来源: CSDN 作者: Jason–json 链接: https://blog.csdn.net/weixin_46146313/article/details/104105353

js 获取 操作系统信息

心已入冬 提交于 2020-01-29 11:20:22
用 navigator.userAgent 来获取操作系统的信息 // 获取操作系统信息 function getOsInfo() { var userAgent = navigator.userAgent.toLowerCase(); var name = 'Unknown'; var version = 'Unknown'; if (userAgent.indexOf('win') > -1) { name = 'Windows'; if (userAgent.indexOf('windows nt 5.0') > -1) { version = 'Windows 2000'; } else if (userAgent.indexOf('windows nt 5.1') > -1 || userAgent.indexOf('windows nt 5.2') > -1) { version = 'Windows XP'; } else if (userAgent.indexOf('windows nt 6.0') > -1) { version = 'Windows Vista'; } else if (userAgent.indexOf('windows nt 6.1') > -1 || userAgent.indexOf('windows 7') > -1) {

js 判断字符串是否包含某字符串,String对象中查找子字符,indexOf

喜夏-厌秋 提交于 2020-01-29 10:58:26
var Cts = "bblText"; if(Cts.indexOf("Text") > 0 ) { alert('Cts中包含Text字符串'); } indexOf用法: 返回 String 对象内第一次出现子字符串的字符位置。 strObj.indexOf(subString[, startIndex]) 参数 strObj 必选项。String 对象或文字。 subString 必选项。要在 String 对象中查找的子字符串。 starIndex 可选项。该整数值指出在 String 对象内开始查找的索引。如果省略,则从字符串的开始处查找。 说明 indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回 -1。 如果 startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。 从左向右执行查找。否则,该方法与 lastIndexOf 相同。 示例 下面的示例说明了 indexOf 方法的用法。 function IndexDemo(str2){ var str1 = "BABEBIBOBUBABEBIBOBU" var s = str1.indexOf(str2); return(s); } 对于JavaScript的indexOf忽略大小写

项目实战

感情迁移 提交于 2020-01-29 07:06:39
项目实战 1.环境介绍 2.nvm和node.js环境配置 3.npm使用详解 4.gulp介绍和安装 5.gulp创建任务 6.gulp创建处理css文件任务 7.gulp给文件重命名 8.gulp处理JavaScript文件的任务 9.合并多个文件 10.创建压缩图片任务 11.监听文件修改,自动执行任务 12.修改代码实时刷新浏览器 13.项目环境搭建和安装相应包 14.编写gulpfile.js文件 15.sass语法介绍和转换为css 16.导航条实现(1) 17.导航条实现(2) 18.导航条实现(3) 19.导航条吸顶效果 20.轮播图布局和样式 21.JS面向对象和实现一次轮播 22.实现自动轮播 23.鼠标hover事件控制轮播图暂停和继续 24.切换轮播图的箭头样式及其显示和隐藏事件 25.轮播图上下切换 26.小圆点结构和样式 27.根据轮播图的个数动态修改小圆点结构和样式 28.小圆点点击事件和自动更新当前选中的小圆点 29.实现自动无限循环轮播 30.左右箭头切换实现循环轮播 31.新闻列表tab栏布局完成 32.新闻列表页布局完成 33.加载更多按钮的布局和样式 34.侧边栏-标题和广告位布局完成 35.侧边栏-关注第三方平台盒子布局和样式 36.侧边栏-热门推荐完成 37.footer布局和样式(1) 38.footer布局和样式(2) 39

前端解决跨域的九种方法

谁都会走 提交于 2020-01-29 05:47:56
什么是跨域? 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。 广义的跨域: 1、 资源跳转:A链接、重定向、表单提交 2、 资源嵌入: <link>、<script>、<img>、<frame>等dom标签,还有样式中background:url()、@font-face()等文件外链 3、 脚本请求: js发起的ajax请求、dom和js对象的跨域操作等 其实我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景。 什么是同源策略? 同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。 同源策略限制以下几种行为: 1、Cookie、LocalStorage 和 IndexDB 无法读取 2、 DOM 和 Js对象无法获得 3、 AJAX 请求不能发送 常见跨域场景 URL 说明 是否允许通信 http://www.demo.com/a.js http://www.demo.com/b.js 同一域名,不同文件或路径 允许 http://www.demo.com/lab/c.js http://www

纯JS自定义Promise

你说的曾经没有我的故事 提交于 2020-01-29 05:47:26
纯JS自定义Promise Promise的重要性已经不需要过多的赘述,但我们不应该只会用它,而应该明白它在底层的一些原理,虽然我们不能写出C那么完美的Promise,但也可以实现他的很多原理,下面,跟我一起看看纯用js如何自定义一个Promise吧 //该文件模拟原生Promise ( function ( ) { const PENDING = 'pending' //定义常量,用来储存初始化状态字符 const RESOLVED = 'resolved' //定义常量,用来储存成功状态字符 const REJECTED = 'rejected' //定义常量,用来储存失败状态字符 //Promise构造函数 function Promise ( executor ) { const self = this //缓存this self . status = PENDING //初始化实例的状态 self . data = undefined //初始化实例所保存的值,(后期可能是成功的value,或是失败的reason) self . callback = [ ] //用来保存一组一组的回调函数 /* self.callbacks形如: [ {onResolved:()=>{},onRejected:()=>{}}, {onResolved:()=>{},onRejected:

[转发]软件工具|Github上整理的一些工具

本秂侑毒 提交于 2020-01-29 05:26:53
注:文章转自https://www.runoob.com/w3cnote/github-tools.html 技术站点 Hacker News:非常棒的针对编程的链接聚合网站 Programming reddit:同上 MSDN:微软相关的官方技术集中地,主要是文档类 infoq:企业级应用,关注软件开发领域 OSChina:开源技术社区,开源方面做的不错哦 cnblogs,51cto,csdn:常见的技术社区,各有专长 stackoverflow:IT技术问答网站 GitHub:全球最大的源代码管理平台,很多知名开源项目都在上面,如Linux内核, OpenStack等免费的it电子书: http://it-ebooks.info/ DevStore:开发者服务商店 不错的书籍 人件 人月神话 代码大全2 计算机程序设计艺术 程序员的自我修养 程序员修炼之道 高效能程序员的修炼(成为一名杰出的程序员其实跟写代码没有太大关系) 深入理解计算机系统 软件随想录 算法导论(麻省理工学院出版社) 离线数学及其应用 设计模式 编程之美 黑客与画家 编程珠玑 C++ Prime Effective C++ TCP/IP详解 Unix 编程艺术 《精神分析引论》弗洛伊德 搞定:无压力工作的艺术 平台工具(都是开源的好东东哦) Redmine/Trac:项目管理平台 Jenkins/Jira