前端笔记 (3.JavaScript 2)】的更多相关文章

一.ES6语法 ES6中对数组新增了几个函数:map().filter().reduce() ES5新增的forEach(). 都是一些语法糖. 1.1 forEach()遍历数组 forEach()方法用来循环遍历数组,方法中的function回调函数接收3个参数 参数1是遍历的数组内容(item):参数2是对应的数组索引(index),参数3是是数组本身(array). [].forEach(function(item,index,array){ ... }) var arr = ["白板&…
一.对象(Object) 1.1 认识对象 对象在JS中狭义对象.广义对象两种. 广义:相当于宏观概念,是狭义内容的升华,高度的提升,范围的拓展.狭义:相当于微观概念,什么是“狭”?因为内容狭隘具体,范围窄所以称为“狭” l 狭义对象 就是用{}这种字面量的形式定义的对象,它是一组属性的无序集合 var obj = { name : "小明", age : 12, sex : "男", hobby : ["足球","刺绣",&…
一.DOM JavaScript语言核心.变量的定义.变量的类型.运算符.表达式.函数.if语句.for循环.算法等等.这些东西都属于语言核心,下次继续学习语言核心就是面向对象了.JavaScript能做非常多的事情:DOM开发.Ajax开发.Canvas开发.NodeJS开发.前端框架(React.Vue.Angular等等).HTML5开发.这些都需要语言核心的知识. DOM开发说白了就是浏览器中的页面效果开发,在2011年之前,DOM开发占据了前端开发工程师的90%的工作:年之后,前端要负…
一.函数补充 1.1 arguments类数组对象 arguments 是一个对应于传递给函数的参数的类数组对象. 在函数中,使用特殊对象 arguments,开发者无需明确指出参数名,就能访问它们. 在其它编程语言中,比如java:如果一个函数被定义过两次,每次参数个数都不同.相当于定义了两个不同的函数,根据参数个数不同,会选择不同的函数执行.一个函数名定义了两个函数,称为“函数重载”(overloaded). 复习一下函数,定义函数时,参数要罗列在圆括号中,这些参数,叫“形参”: funct…
一.正则表达式 1.1正则概述和体验 正则表达式是被用来匹配字符串中的字符组合的模式,常用来做表单验证.在JavaScript中,正则表达式也是对象,是一种引用类型. 案例:正确输入一个电话号码,010-12345678,用户输入正确返回“对”,错误返回“错” var tel = prompt("请输入电话号码"); var reg = /^\d{3}-\d{8}$/; if(reg.test(tel)){ alert("对"); }else{ alert(&quo…
一.JavaScript简介 1.1网页分层 web前端一共分三层: 结构层 HTML         : 负责搭建页面结构 样式层 CSS          : 负责页面的美观 行为层 JavaScript  : 负责页面的交互效果,提高用户体验 如果用舞台来进行比喻: HTML  是演员:div,a CSS   是化妆师:负责给每个演员添加装饰效果 javascript是剧本:负责描述每个演员之间的交互 1.2 JavaScript诞生 JavaScript一种直译式脚本语言,是一种动态类型…
作者:刘耀 部分内容参考一下链接 参考: http://www.cnblogs.com/wupeiqi/articles/5369773.html http://javascript.ruanyifeng.com/oop/basic.html http://www.cnblogs.com/gaojun/archive/2013/10/24/3386552.html 一.JavaScript简介 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释…
一.组件化开发 1.1组件化概述 页面特效的制作,特别需要HTML.CSS有固定的布局,所以说现在越来越流行组件开发的模式,就是用JS写一个类,当你实例化这个类的时候,页面上的效果布局也能自动完成. new Carousel(); 实例化后,页面中就有一个轮播图的布局结构,而且可以通过参数传递进去. 这个new里面封装了HTML.CSS.JS的业务逻辑.组件开发的规律就是所有按钮.小圆点.图片等等都是这个类(的实例的)属性,自己管理自己. 组件开发的好处就是在用的时候可以高度自定义,在new的时…
一.复习 1.1复习上下文 函数的调用方式 上下文 fun() window obj.fun() obj box.onclick = fun box setInterval(fun,1000) setTimeout(fun,1000) window array[8]() array new fun() 秘密创建的新对象 要看清楚最终的函数调用者是谁. IIFE也被当做函数直接运行,IIFE的this都是window对象 函数的arguments是类数组对象,比如传入的第0项参数是函数,让它运行:…
一.数组 1.1数组概念 数组(array)是一个有序的数据集合.说白了,数组就是一组数.数组内部可以存放一个或多个单独的数据,整体组成数组. 定义数组最简单的方式:数组字面量. 数组的字面量“[]”.习惯将数组赋值给一个变量. var arr = []; var arr = [1,2,3,4,5,6,7,888,999,666]; arr[5] = 88; //把数组下标为5的项改为88(设置数组中的某一项) console.log(arr); console.log(arr[0]); //1…
一.JavaScript缓冲公式ease 原生JS没有自己的缓冲公式,但是你要自己推理的话,必须要懂一些数学和物理公式: 让div用100毫秒(帧),从left100px的位置变化到left800px的位置,要求匀速: 大致计算如下: 毫秒编号(帧) 距离起点的增量 目前绝对的位置 0 0 100 1 7 107 2 14 114 ... ... ... t t*c/d b+t*c/d 49 343 443 50 350 450 98 686 786 99 693 793 100 700 800…
一.快捷位置和尺寸属性 DOM已经提供给我们计算后的样式,但是还是觉得不方便,因为计算后的样式属性值都是字符串类型. 不能直接参与运算. 所以DOM又提供了一些API:得到的就是number类型的数据,不需要parseInt(),直接可以参与运算. offsetLeft和offsetTop offsetWidth和offsetHeight clinetWidth和clinetHeight 1.1 offsetWidth和offsetHeight 全线兼容,是自己的属性,和别的盒子无关的. 一个盒…
一.获取元素方法(JS选择器) 1.1概述 得到id元素的方法 document.getElementById() 得到一个元素.事实上,还有一个方法可以得到标签元素,并且得到的是多个元素: document.getElementsByTagName(); 全线浏览器兼容的,得到元素的方法,就这两个: document.getElementById()        通过id得到元素 document.getElementsByTagName();    通过标签名得到元素们 还有更多的得到元素…
一.自定义函数function 函数就是功能.方法的封装.函数能够帮我们封装一段程序代码,这一段代码会具备某一项功能,函数在执行时,封装的这一段代码都会执行一次,实现某种功能.而且,函数可以多次调用. 1.1函数的定义和调用 语法: 定义:把需要实现的功能预先做好 执行:需要的时候执行这个功能,而且还可以执行多次 定义:function myName(){} 执行:myName() [语法解释]: function  定义函数的关键字 myName    函数名称 ()         参数集…
一.事件对象event 1.1 preventdefault()和returnValue阻止默认事件 通知浏览器不要执行与事件关联的默认动作. preventdefault()  支持Chrome等高级浏览器 returnValue     支持IE6.7.8 var box = document.getElementById('box'); var i = 0; //鼠标在box盒子滚动时触发 box.onmousewheel = function(event){ var event = ev…
一.条件分支语句 条件分支语句,也叫作条件判断语句,就是根据某种条件执行某些语句,不执行某些语句. JS中有三种语法是可以表示条件分支的 1.1 if……else…… 条件分支的主力语法,这个主力语法能够书写所有的条件分支语句.也就是说,一会儿学switch case语句,switch case语句能干的,if else语句一定也能干. 标准的完整结构: if(){ }else if(){ }else if(){ }else{ } else只能有一个,并且一定要放在最后.表示所有的分支都不满足的…
运算符 数学运算符的正统,number和number的数学运算,结果是number.出于面试的考虑,有一些奇奇怪怪的数学运算: 数学运算中:只有纯字符串.布尔值.null能够进行隐式转换. //隐式转换:就是没有写parseInt().parseFloat()也能自动帮你转换类型 console.log(2 + "4"); console.log(26 - "2"); console.log(3 * "8"); console.log("…
  一.条件分支语句 条件分支语句,也叫作条件判断语句,就是根据某种条件执行某些语句,不执行某些语句. JS中有三种语法是可以表示条件分支的 1.1 if……else…… 条件分支的主力语法,这个主力语法能够书写所有的条件分支语句.也就是说,一会儿学switch case语句,switch case语句能干的,if else语句一定也能干. 标准的完整结构: if(){ }else if(){ }else if(){ }else{ } else只能有一个,并且一定要放在最后.表示所有的分支都不满…
title: 1.前端笔记之HTML date: 2016-04-04 23:21:52 tags: Python categories: Python --- 作者:刘耀 **出处:http://www.liuyao.me欢迎转载** 一.html简介 超级文本标记语言是标准通用标记语言下的一个应用,也是一种规范,一种标准, 它通过标记符号来标记要显示的网页中的各个部分.网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如:文字如何处理,画面如何安排,图…
前端必学---JavaScript数据结构与算法---简介 1. 数据结构: 数据结构是相互之间存在一种或者多种特定关系的数据元素的集合.---<大话数据结构> 1.1 数据结构的分类 1. 逻辑结构 线性结构 线性结构中的数据元素之间是一对一的关系. 集合结构 集合结构中的数据元素除了同属于一个集合外,它们之间没有其他关系. 树形结构 树形结构中的数据元素之间存在一对多的层次关系. 图形结构 图形结构的数据元素是多对多的关系. 2. 物理结构 顺序存储结构 链接存储结构 数据结构要学习总结的…
前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array是前端必修的功课.周五啦,博主的心又开始澎湃了,明儿个周末有木有,又可以愉快的玩耍了. 创建数组 创建数组的基本方式有两种,一种字面量,另一种使用构造函数创建: var arr = [1,2,3]; //字面量的形式创建数组 值与值之间用英文逗号隔开 var arr1 = new Array(1,2…
简单地总结了一下前端用过的html.javascript.css技术,算是清点一下,做个大略的小结,为进一步的学习给个纲领. 一.HTML 由于HTML5的兴起,简单地判断一个网页是否是html5网页,只需要找找内部是否有html5的标志性标签就行了.然而平时虽然写了不少html,却没怎么关注它的发展史: GML(Generalized Marcup Language)通用标记语言 和SGML(Standard Generalized Markup Language)标准通用标记语言. 由Tim…
title: 1.前端笔记之CSS date: 2016-04-05 23:05:51 tags: 前端 categories: w3c --- 作者:刘耀 **出处:http://www.liuyao.me欢迎转载** 一.css简介 css是英文Cascading Style Sheets的缩写,称为层叠样式表,用于对页面进行美化,CSS的可以使页面更加的美观.基本上所有的html页面都或多或少的使用css. 存在方式有三种:元素内联.页面嵌入和外部引入 1.元素内联 <!DOCTYPE h…
RX学习笔记:JavaScript数组操作 2016-07-03 增删元素 unshift() 在数组开关添加元素 array.unshift("value"); array.unshift(123); array.unshift("value1","value2"); push() 在数组末尾添加元素 array.push("value"); array.push(123); array.push("value1&…
之前分别为大家介绍了有关javascript中的冲突和性能问题,今天为大家介绍一下有关javascript中的依赖问题.我们将继续就之前javascript中性能问题继续介绍. 先来回顾一下性能问题的解决方法,那就是按需引入js文件.那么这样按需引入会不会存在问题呢?今天我们为大家继续揭晓答案.先看如下页面. 多文件HTML代码 <!doctype html> <html dir="ltr" lang="zh-CN"> <head>…
一.JavaScript介绍  前端三剑客之JavaScript,简称js,可能是这三个里面最难的一个了.很早以前,市面上流通着三种js版本,为了统一,ECMA(欧洲计算机制造协会)定义了规范的版本,即EcmaScript. 事实上ECMAScript只是JavaScript的一部分,完整的JavaScript是由以下三个部分组成的: 核心(ECMAScript) 文档对象模型(DOM)Document object model 浏览器对象模型(BOM)Broswer object model…
写给后端的前端笔记:浮动(float)布局 这篇文章主要面向后端人员,对前端有深刻了解的各位不喜勿喷. 起因 前一阵子我一个后端的伙伴问我,"前端的左飘怎么做?",我立马就懵了,"居然有这种操作?",过去看了一眼,大概知道他说的左飘就是左浮动float: left 这么看来,后端的同僚对前端css布局的了解基本处于小白阶段. 于是就有了这篇文章. 浮动 我们可以这样理解浮动,图中有页面,div1,div2,div3,div4. <div id="di…
写给后端的前端笔记:定位(position) 既然都写了一篇浮动布局,干脆把定位(position)也写了,这样后端基本上能学会css布局了. 类别 我们所说的定位position主要有三类:固定定位fixed,相对定位relative,绝对定位absolute.它们都有相同的四个属性:top,bottom,left,right 区别 主要在于他们的参照物不一样 <div class="block" id="div1">固定定位bottom: 40px;…
学习笔记:Javascript 变量 包装对象 如下代码,可以输出字符的长度. var str = "Tony"; str.length; 这时再试试以下代码,返回是 undefined var str = "Tony"; str.a = 5; str.a; 以为包装对象在执行完成后就自动销毁了. 参考资料: http://javascript.ruanyifeng.com/stdlib/wrapper.html http://www.cnblogs.com/dol…
笔记:Javascript 会提升变量声明 Javascript 会自动提升变量声明,但不会提升变量赋值. 如下代码, 按 F12 控制器显示的是 Hello, undefined 说明只是把 b 了声明给提升了,但是并没有把 var b = 'Jack' 赋值提升上去,所以需要注意. 还是在 C 中严格,只可以在代码块头部声明变量. <script> 'use strict'; // 变量提升 function foo() { var a = 'Hello, ' + b; console.l…