前端开发常用4个浏览器内核
谷歌浏览器(
chrome
):Webkit
内核(v8
引擎):-webkit-
Safari、大部分国产浏览器(360、搜狗、QQ、UC、猎豹、百度…)
webView
、node
都是V8
引擎火狐浏览器(
Firefox
):Gecko
内核-moz-
欧朋浏览器(
Opera
):Presto
内核-o-
IE浏览器:
Trident
内核-ms-
什么是浏览器内核,浏览器内核是干什么的?
前端开发使用h
tml/css/js
编写代码,编写代码时要遵循一些规范(W3C
)浏览器开发商开发的浏览器,目的就是按照
W3C
的规范识别出开发者编写的代码
,并且在页面中绘制出开发者预想的页面和效果(用GPU渲染
)我们把浏览器中识别代码绘制页面的东西称为浏览器的内核或者渲染引擎
浏览器兼容:
1、
W3
C发布的规范都是开发者们不断尝试总结下来的产物:-webkit-border-radius
、-moz-border-radius
=>border-radius
2、每个浏览器为了彰显自己的不一样,不按照标准来,把标准中规定的效果用另一种方式实现了:获取所有元素的样式,规范:
window.getComputedStyle
,IE
:currentStyle
导入js
行内导入js,
<div onclick="alert(1)"></div>
内嵌式 : 在页面中的
script标签
中直接写js
外链式:通过
script标签
的src属性引入
内嵌式导入和外链导入不能合并在一起,如果当前是外链导入的,那么在
script
脚本块在编写的代码都不会被执行
Css导入方式
css导入式一般放在style标签的开始
css 导入式和外链式的区别:
相同点:都是将独立的CSS样式文件引用到网页文件中来
不同点:
1、使用
link
链接css
是:客户端浏览你的网页时先将外部的CSS文件加载到网页当中,然后再进行编译显示
,所以这种情况下显示出来的网页跟我们预期的效果一样,即使网速再慢也是一样的效果。而使用@import导入的CSS就不同了,客户端在浏览网页时是先将html的结构呈现出来,再把外部的CSS文件加载到网页当中
,当然最终的效果也是跟前者是一样的,只是当网速较慢时会出现先显示没有CSS统一布局时的html网页,这样就会给阅读者很不好的感觉。这也是现在大部分网站的CSS都采用链接方式的最主要原因;2、导入样式可以避免过多页面指向一个css文件。当网站中使用同一个CSS文件的页面不是非常多时,这两种方式在效果方面几乎是没有不同的,但
网站的页面数达到一定程度时(比如新浪等门户),如果采用链接的方式可能就会使得由于多个页面调用同一个CSS文件而造成速度下降
,但是一般页面能达到这种程度的网站也会有资本用最好的硬盘,所以这方面的因素也不用怎么担心。
真实项目中我们一般把css放在BODY上面,把JS放在BODY的下面
元素渲染出来以后 我们才可以在JS在获取到
JS 的输出方式
弹出方式
1、
alert()
:在浏览器中弹出一个提示框(只有确定);
使用alert提示的内容(不管是什么类型的)都会被转化为字符串输出
,调用的是toString
这个方法实现的;alert(1+1) => ‘2’ 字符串2;alert({name:’aaa’}) => “[object Object]”; alert([12,13]) => “12,13”
2、
confirm
:在alert基础上增加了让用户选择性的操作(提供了两个按钮:确定取消);var Bok=confirm(‘确定删除吗?’) 获取用户是确定还是取消 (确定是
true
取消是false
)
3、
prompt
:在confirm
基础上增加让用户输入的效果var Bok=prompt(‘确定删除吗?’) 1、用户点击 取消按钮都是(null)2、如果点击确定会返回输入的内容,如果没有输入内容返回的是空字符串
真实项目中,一般不使用这些弹框,样式太丑,会使用原生js封装模态框
控制台输出 (方便开发人员进行调试)
1、
console.log()
在控制台输出不会转换数据类型,输出什么格式的数据都可以2、
console.dir
比log输出的更加详细尤其是输出对象数据的时候3、
console.table
把json
数据展示成表格4、
document.write()
在页面中打印输出内容
JavaScript: ECMAScript+DOM+BOM
1、
ECMAScript
(ES):规定了js
的一些核心知识
(变量、数据类型、语法规范、操作语句)版本:3、5、6、72、
DOM
:document object model文档对象模型
;里面提供了一些属性和方法,可以让我们操作页面中的元素3、
BOM
:browser object model浏览器对象模型
,里面提供了一些属性和方法,可以让我们操作浏览器
JavaScript
是ECMAScript
规范的一种实现
。
JS中的命名规范
1、JS
中严格区分大小写
2、遵循国际命名规则 驼峰命名法
:第一个单词首字母小写,后面的单词首字母都必须大写
1 | info: 信息 |
3、命名的时候可以使用$
、_
、 数字
、字母
;但是数字不能作为第一位
1 | var $XXX :一般代表 jquery获取的值 |
4、JS
中很多的词都是有特殊含义的,我们叫做关键字
;现在没有特殊含义,以后可能作为关键词的我们叫保留字
;关键字和保留字都不能随便用来命名;
关键字:
保留字: