什么是XHTML?
1·XHTML 指的是可扩展超文本标记语言
2·XHTML 与 HTML 4.01 几乎是相同的
3·XHTML 是更严格更纯净的 HTML 版本
4·XHTML 是以 XML 应用的方式定义的 HTML
5·XHTML 是2001 年 1 月发布的 W3C 推荐标准
6·XHTML 得到所有主流浏览器的支持
AJAX
Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。
Ajax = 异步JavaScript和 XML 或者是 HTML(标准通用标记语言的子集)。
Ajax 是一种用于创建快速动态网页的技术。
Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
ajax的异步发送请求与form表单发送请求有什么区别
1.Ajax在提交、请求、接收时,都是异步进行的,网页不需要刷新;
Form提交则是新建一个页面,哪怕是提交给自己本身的页面,也是需要刷新的;
2. A在提交时,是在后台新建一个请求;
F却是放弃本页面,而后再请求;
3. A必须要使用JS来实现,不启用JS的浏览器,无法完成该操作;
F却是浏览器的本能,无论是否开启JS,都可以提交表单;
4. A在提交、请求、接收时,整个过程都需要使用程序来对其数据进行处理;
F提交时,却是根据你的表单结构自动完成,不需要代码干预;
弹性盒子
弹性盒子是CSS3的一种新布局模式。
CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式。
引入弹性盒布局模型的目的是提供一种更加有效的方式来对一个容器中的子元素进行排列、对齐和分配空白空间。
响应式布局 ------- ---------- 媒体查询 栅格布局(行 列)
闭包工作原理
在Javascript语言中,只有函数中的子函数才能引用函数中的变量,简单来说,闭包就是定义在函数中的函数,是函数内外部连接的桥梁
闭包的意义是:当前作用域总是能够访问外部作用域中的变量;函数是唯一拥有自身作用域的结构,所以闭包的创建依赖于函数
访问原型对象属性和方法的三个方式:
1.通过Person.prototype 属性
console.log(Person.prototype.name);//输出----->person
2.通过 属性屏蔽 delete (屏蔽构造函数属性或者方法)
p1.sayName(); //输出----->构造函数对象
delete p1.name;
console.log(p1.name); //输出----->原型属性
delete p1.sayName;
p1.sayName(); //输出 --->原型对象方法
3.通过Object.getPrototypeOf(p1)
console.log(Object.getPrototypeOf(p1).name);//输出----->原型属性
原型链:
其基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。我们知道,每个构造函数都有一个原型对象,每个原型对象都有一个指向构造函数的指针,而实例又包涵一个指向原型对象的内部指针。
如果我们让原型对象(A.prototype) = 另一个类型的实例(new B()),那么,该原型对象(A.prototype)就有一个指向另一个原型对象(B.prototype)的指针,相应的,另一个原型对象(B.prototype)也包含指向另一个构造函数(B)的指针。
在通过原型链实现继承时,不能用对象字面量创建原型方法,因为这样会重写原型链。 刚刚把Person的实例赋值给原型,紧接着使用字面量导致出错。------->因为现在的原型包含的是一个Object的实例,不是Person的实例,原型链被切断。
【】【】【】所以理想的继承方式是”寄生组合式继承“,所谓寄生组合式继承通过借用构造函数来继承属性(父类构造函数里的属性+方法),通过原型链的形式继承方法(父类原型里的方法)。
JSON 语法规则
在 JS 语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型:
对象表示为键值对
数据由逗号分隔
花括号保存对象
方括号保存数组
JSON 与 JS 对象的关系
很多人搞不清楚 JSON 和 Js 对象的关系,甚至连谁是谁都不清楚。其实,可以这么理解:
JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。
如
1varobj = {a: 'Hello', b: 'World'}; //这是一个对象,注意键名也是可以使用引号包裹的
1varjson = '{"a": "Hello", "b": "World"}'; //这是一个 JSON 字符串,本质是一个字符串