随着互联网的不断普及,人们对于用户体验也提出了越来越高的要求。因此Web前端工作等到了更多的发展和重视。越来越多的人都转行来学Web前端。前端开发成为了一门热门且有前途的职业。前端开发是构建网页和应用程序用户界面的过程,涉及多种技术和工具,无论是正在学习Web前端技术还是已经从事Web前端工作的小伙伴们都有一些你不知道的前端小知识。
本文将介绍一些前端开发的基本知识,帮助初学者了解这个领域。
一、HTML
置换元素:浏览器根据元素的标签和属性来决定元素的具体显示内容
非置换元素:浏览器的大多数元素都是不可置换元素,即其内容直接展示给浏览器
input 元素设置 readonly:true => 脚本无法修改 input 的值 (F)
input 元素设置 disabled:true => 脚本无法修改 input 的值(F)
input 元素设置 readonly:true => input 的值不会随表单提交(F)
input 元素设置 disabled:true => input 的值不会随表单提交(T)
DHTML 的动态样式作用:使网页作者改变内容的外部特征而不强制用户再次下载全部内容
HTML5 获取某用户当前位置信息 => getCurrentPosition()
reflow(回流) => 对 DOM 树进行渲染,修改 DOM 或修个元素的形状大小,就会触发 reflow
enctype => 规定在发送发送服务器之前对表单数据进行编码的方式
application/x-www-form-urlencoded
multipart/form-data
text/plan
htmlDoctype 告诉浏览器文档使用哪一种html 或者 xhtml
不同文档模式(htmlDoctype)影响 css 内容呈现,尤其是对盒模型
文档模式使得不同浏览器在混杂模式下差异大
二、CSS
当margin-top 、padding-top 的值是百分比时,分别计算相对最近父级元素的width,相对最近父级元素的width
position: static => 无定位
position: absolute => 绝对定位
position: fixed => 相对窗口的固定定位
position: relative => 相对定位
mozilla(gecko) 内核 =>浏览器:firefox、flock 等 => css 兼容前缀:-moz
Webkit内核 =>浏览器:safari、chrome 等 => css 兼容前缀:-Webkit
opera 内核 => 浏览器:opera 等=> css 兼容前缀:-o
trident 内核 =>浏览器:ie 等 => css 兼容前缀:-ms
选择器优先级:ID选择器>class选择器=伪类选择器>标签名陈选择器
在不涉及样式情况下,页面元素的优先显示与结构摆放顺序无关(F)
三、JavaScript
Promise 的三种状态
异步操作(未完成)=> pending
异步操作(已完成)=> resolved (又称 fulfilled )
异步操作(失败) => rejected
状态改变只能是pending => resolved 或者pending => rejected
状态一旦改变就不能再次进行改变
JavaScript 基本数据类型:String、Boolean、Null、Number、undefind
JavaScript 复杂数据类型:Object、Array、Function、RegExp、Date、Error
JavaScript 全局数据类型:Math
JavaScript 全局函数:escape()、eval()、isFinte()、isNaN()、parseFloat()、parseInt()、unescape()
JavaScript 异步编程
回调函数
事件监听
发布/订阅
Promise 对象
RegExp对象三个方法=> test() 、 exec()、compile()
JavaScript 内置对象:Arguments(函数参数集合)、Array(数组)、Boolean(布尔)、Date(日期)、Error(异常)、Function(函数)、Math(数学)、Number(数值)、Object(基础)、String(字符串)、RegExp(正则表达式)
history.length 返回浏览器你是列表的URL 的数量
history.back() 加载history 列表的前一个URL
history.forward() 加载history 列表的下一个URL
history.go() 加载history 列表中的某个具体页面
call 与 apply 都属于 Function.prototype 的一个方法,所以每一个Function 实例都有call、apply 属性
call 第一个参数是 this,传递给函数的参数必须逐个列举出来;apply 传递函数的参数是数组,就是多个参数组合成一个数组传入
call 传入的是直接参数列表,可见一个函数的对象上下文从初始的上下文改变为由thisObj 指定的新对象
跨域 =>浏览器不会将存在跨域限制的服务端口响应正常交给客户端代码去处理
hasOwnproperty() => 判断一个对象是否包含有属性或者对象
isPrototypeOf() => 判断检查其原型链对象是否存在于指定对象中
把鼠标一定到按钮上点击,发生=> hover -> focus -> active
Ajax 的优势在于开放性、易用性及易于开发
Flash 的优势在于多媒体处理,可以更容易地调用浏览器之外的外部资源
Ajax 最主要的批评就是他可能坏浏览器地后退功能
Flash 文件经常会很大,用户第一次使用的是否需要让来的时间较长
四、网络基础
TCP/IP
443
UDP
53
五、进程和线程
进程是资源分配的最小单位
线程是资源调度的最小单位
进程是动态的、多个进程可以包含相同的程序和多个进程可以进行并发运行