是干什么的,为什么要把html写在js中? 这是什么html5编程语言言风格,都能...

你真的知道HTML吗? - 小武子技術博客 - 推酷
你真的知道HTML吗? - 小武子技術博客
经过几次面试当中,被问及到最基础的东西,没想到回答不上来,有点蛋痛,今天特地的复习了一下!!
(文档类型)的作用是什么?有多少文档类型?
浏览器标准模式和怪异模式之间的区别是什么?
&& 3.html、dhtml、xhtml是什么?以及它们的区别是什么?
(文档类型)的作用是什么?有多少文档类型?
&&&& 此标签可告知浏览器文档使用哪种HTML或XHTML规范。
& && 该标签可声明三种DTD类型,分别表示严格版本、过渡版本以及基于框架的HTML文档。
& && HTML 4.01 规定了三种文档类型:Strict、Transitional以及Frameset。
& && XTHML 1.0 规定三种XML文档类型:Strict、Transitional以及Frameset。
& & &Standards(标准)模式(也就是严格呈现模式)用于呈现遵循最新标准的网页,而Quiks(包容)模式(也就是松散呈现模式或兼容模式)用于呈现为传统浏览器而设计的网页。
浏览器标准模式和怪异模式之间的区别是什么?
当浏览器厂商开始创建与标准兼容的浏览器时,他们希望确保向后兼容性。为了实现这一点,他们创建了两种呈现模式:标准模式和混杂模式(
quirks&mode
W3C标准推出以后,浏览器都开始采纳新标准,但存在一个问题就是如何保证旧的网页还能继续浏览,在标准出来以前,很多页面都是根据旧的渲染方法编写的,如果用的标准来渲染,将导致页面显示异常。为保持浏览器渲染的兼容性,使以前的页面能够正常浏览,浏览器都保留了旧的渲染方法(如:微软的IE)。这样浏览器渲染上就产生了Quircks mode和Standars mode,两种渲染方法共存在一个浏览器上。&
& & & IE盒子模型和标准W3C盒子模型:ie的width包括:padding\border。 标准的width不包括:padding\border
& & & 在js中如何判断当前浏览器正在以何种方式解析?&
& & & document对象有个属性compatMode ,它有两个值:
BackCompat 对应quirks mode&
&CSS1Compat 对应strict mode
三、html、dhtml、xhtml是什么?以及它们的区别是什么?
HTML是一种基本的WEB网页设计语言,XHTML是一
个基于XML的置标语言,看起来与HTML有些想像,只有一些小的但重要的区别,
XHTML就是一个扮演着类似HTML的角色的XML,所以,本质上说,XHTML是一个过渡技术,结合了XML(有几分)的强大功能及HTML(大多数)的简单特性。
&& 以下是 XHTML 相对 HTML 的几大区别:
&&& XHTML 要求正确嵌套
&&& XHTML 所有元素必须关闭
&&& XHTML 区分大小写
&&& XHTML 属性值要用双引号
&&& XHTML 用 id 属性代替 name 属性
&&& XHTML 特殊字符的处理
&&& XHTML 要求正确嵌套
Dynamic HTML也就是动态HTML,以下称之为DHTML。
&&& 由于HTML它是一种静态的网页设计语言,主要提供文本和图形的显示功能。但它很难提供多媒体、二维空间移动、精确定位文字、图形的大小和位置。所以出现
解决了HTML以上出现的问题,DHTML实现上可以理解为
DHTML=HTML+DOM+CSS+Script
已发表评论数()
已收藏到推刊!
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
没有分页内容
图片无法显示
视频无法显示
与原文不一致请问这是什么意思?这明明是html中怎么感觉像java里的?为什么是script,for语句里面是什么意思?谢谢!_百度知道
请问这是什么意思?这明明是html中怎么感觉像java里的?为什么是script,for语句里面是什么意思?谢谢!
jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="/zhidao/wh%3D450%2C600/sign=/zhidao/pic/item/fadabdd4b31c8701e41e.baidu.jpg" esrc="http.hiphotos.hiphotos.hiphotos://h.com/zhidao/wh%3D600%2C800/sign=d52d6877dff9d72aa040c/fadabdd4b31c8701e41e<a href="http://h.baidu://h.baidu
我有更好的答案
格式类似这种以&script&gt,以&script&/开始这是html里面嵌入的javascript脚本代码
这是javascript语句,这是是可以被浏览器解析的
js中也有for循环
用法和java中类似
var i 相当于 int i
其他类似问题
为您推荐:
纸尿裤的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁3461人阅读
文西马龙:
因为js是由浏览器来解释执行的,因此这里有一个问题,不同类型的浏览器可能对js的支持不一样。
js运行原理
以js嵌入到html为例说明:
①本地运行
②远程访问运行
万维网(www)
万维网(www)综合图
js开发工具
如何选择开发工具:
我们选择用记事本,大家对javascript有一定了解后,我们再使用高级开发工具(vs,eclipse)。
这是为什么呢?
1.更深刻的理解javascript技术,培养代码感。
2.有利于公司面试。
多查询javascript帮助文档,学会查文档
1.w3school.chm
2.javascript.chm
js语言的特点
javascript语言是简单的
javascript是基于对象和事件驱动的(动态的)
它可以直接对用户或客户输入做出响应,无须经过WEB服务程序。它对用户的反映响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页中执行了某种操作所产生的动作,就称为“事件”。比如按下鼠标,移动窗口,选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。
javascript是跨平台的
javascript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持javascript的浏览器就可以正确执行。
js语言的特点
1.javascript是脚本编程语言
2.javascript是解释执行的
3.javascript可以对客户端编程,也可以对服务器编程(较少)
javascript vs jscript ——简单了解
javascript和jscript
①jscript是微软开发的,而javascript则是网景和sun合作开发的
②在网景开发livescript(javascript前身)时,微软就意识到这个脚本语言会很火,于是找到网景表示喜欢合作开发livescript,但是网景公司最终选择和微软的对头sun公司合作开发livescript,并更名为javascript。
③微软一气之下,开发了针对ie的脚本语言,并命名为jscript。在当时的这两种脚本语言中语法是大相径庭,给当时的程序员带来很大的烦恼,后来w3c出面了,w3c统一标准(ECMAScript)所以现在的这两种脚本语言的语法可以说90%以上是相同的。
④在一定程度上,你可以认为jscript和javascript。
⑤在网上你搜索javascript帮助手册,完后打开一看是jscript帮助手册,就不足为怪了。
第一个案例,在网页弹出一个对话框,显示“hello world”
&!--JS 代码一般是放在head标签间,但实际上也可以在别的位置--&
&script language=&javascript&&
window.alert(&hello!&);
&body&&/body&
(1)js位置
js位置可以随意
(2)js必须用
&script language=&javascript&&
注意:如果没有使用&script&包起来,则浏览器会将其视为普通文本
(3)在一个html文件中(jsp/php/asp)可以出现多对&script&片段,浏览器会按照先后顺序依次执行。
工欲善其事必先利其器
为了能够运行你的程序,你要安装一个浏览器(ie,firefox,chrome等均可)
js的运行原理
请参考前面的js运行原理图
hello world程序改进
对hello world程序加以改进,让它成为一个简单的加法运算程序
①如何定义变量
②如何运算
&script language=&javascript&&
//js中变量的定义(在js中变量用var表示,不管实际类型。)
var num1=456;
var num2=89;
var result=num1+num2;
window.alert('结果是'+result);
&body&&/body&
为什么需要变量
不论是使用哪种语言编写程序,变量都是其程序的基本组成单位。js是弱数据类型的语言,在定义变量时,不需要指明该变量的类型(由js引擎来决定)
var name=&shunping&; //name是字符串
var kk=2 //kk是数
var yy // yy是undefined
如果name=234; //这时name自动变成数
不声明变量直接使用
x-345; //亦可
js的变量的类型究竟怎样决定
(1)js是弱数据类型语言
即:在定义变量的时候,统一使用var表示,甚至可以去掉var这个关键字
(2)js中的变量的数据类型是由js引擎决定
js基本语法
javascript中的标识符
标识符是指javascript中定义的符号,例如,变量名,函数名,数组名等。标识符可以由任意顺序的大小写字母、数字、下划线(_)和美元符号($)组成,但标识符不能以数字开头,不能是javascript中的保留关键字。
合法的标识符举例:indentifier、username、user_name、_userName、$username
非法的标识符举例:int、98.3、Hello World
(1)javascript严&#26684;区分大小写computer和Computer是两个完全不同的符号
(2)javascript程序代码的&#26684;式
每条功能执行语句的最后必须用分号(;)结束,每个词之间用空&#26684;、制表符、换行符或大括号、小括号这样的分隔符隔开。
(3)块语句使用{}来表示
(4)javascript程序的注释
/*...*/中可以嵌套 &//&注释,但不能嵌套&/*...*/&。
javascript的调试困难,不是编译型的语言。
js的命名规范(变量/函数)
(1)使用大小写字母,数字,_,$可以命名
(2)不能以数字开头
(3)不能使用js的关键字/保留字
(4)区分大小写
(5)单行注释 // ,多行注释 /**/
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:152952次
积分:2077
积分:2077
排名:第12133名
原创:55篇
评论:20条Javascript模块化编程(三):require.js的用法 - 阮一峰的网络日志
Javascript模块化编程(三):require.js的用法
这个系列的和,介绍了Javascript模块原型和理论概念,今天介绍如何将它们用于实战。
我采用的是一个非常流行的库。
一、为什么要用require.js?
最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了。后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载。下面的网页代码,相信很多人都见过。
  &script src="1.js"&&/script&
  &script src="2.js"&&/script&
  &script src="3.js"&&/script&
  &script src="4.js"&&/script&
  &script src="5.js"&&/script&
  &script src="6.js"&&/script&
这段代码依次加载多个js文件。
这样的写法有很大的缺点。首先,加载的时候,浏览器会停止网页渲染,加载文件越多,网页失去响应的时间就会越长;其次,由于js文件之间存在依赖关系,因此必须严格保证加载顺序(比如上例的1.js要在2.js的前面),依赖性最大的模块一定要放到最后加载,当依赖关系很复杂的时候,代码的编写和维护都会变得困难。
require.js的诞生,就是为了解决这两个问题:
  (1)实现js文件的异步加载,避免网页失去响应;
  (2)管理模块之间的依赖性,便于代码的编写和维护。
二、require.js的加载
使用require.js的第一步,是先去官方网站最新版本。
下载后,假定把它放在js子目录下面,就可以加载了。
  &script src="js/require.js"&&/script&
有人可能会想到,加载这个文件,也可能造成网页失去响应。解决办法有两个,一个是把它放在网页底部加载,另一个是写成下面这样:
  &script src="js/require.js" defer async="true" &&/script&
async属性表明这个文件需要异步加载,避免网页失去响应。IE不支持这个属性,只支持defer,所以把defer也写上。
加载require.js以后,下一步就要加载我们自己的代码了。假定我们自己的代码文件是main.js,也放在js目录下面。那么,只需要写成下面这样就行了:
  &script src="js/require.js" data-main="js/main"&&/script&
data-main属性的作用是,指定网页程序的主模块。在上例中,就是js目录下面的main.js,这个文件会第一个被require.js加载。由于require.js默认的文件后缀名是js,所以可以把main.js简写成main。
三、主模块的写法
上一节的main.js,我把它称为"主模块",意思是整个网页的入口代码。它有点像C语言的main()函数,所有代码都从这儿开始运行。
下面就来看,怎么写main.js。
如果我们的代码不依赖任何其他模块,那么可以直接写入javascript代码。
  // main.js
  alert("加载成功!");
但这样的话,就没必要使用require.js了。真正常见的情况是,主模块依赖于其他模块,这时就要使用AMD规范定义的的require()函数。
  // main.js
  require(['moduleA', 'moduleB', 'moduleC'], function (moduleA, moduleB, moduleC){
    // some code here
require()函数接受两个参数。第一个参数是一个数组,表示所依赖的模块,上例就是['moduleA', 'moduleB', 'moduleC'],即主模块依赖这三个模块;第二个参数是一个回调函数,当前面指定的模块都加载成功后,它将被调用。加载的模块会以参数形式传入该函数,从而在回调函数内部就可以使用这些模块。
require()异步加载moduleA,moduleB和moduleC,浏览器不会失去响应;它指定的回调函数,只有前面的模块都加载成功后,才会运行,解决了依赖性的问题。
下面,我们看一个实际的例子。
假定主模块依赖jquery、underscore和backbone这三个模块,main.js就可以这样写:
  require(['jquery', 'underscore', 'backbone'], function ($, _, Backbone){
    // some code here
require.js会先加载jQuery、underscore和backbone,然后再运行回调函数。主模块的代码就写在回调函数中。
四、模块的加载
上一节最后的示例中,主模块的依赖模块是['jquery', 'underscore', 'backbone']。默认情况下,require.js假定这三个模块与main.js在同一个目录,文件名分别为jquery.js,underscore.js和backbone.js,然后自动加载。
使用require.config()方法,我们可以对模块的加载行为进行自定义。require.config()就写在主模块(main.js)的头部。参数就是一个对象,这个对象的paths属性指定各个模块的加载路径。
  require.config({
    paths: {
      "jquery": "jquery.min",
      "underscore": "underscore.min",
      "backbone": "backbone.min"
上面的代码给出了三个模块的文件名,路径默认与main.js在同一个目录(js子目录)。如果这些模块在其他目录,比如js/lib目录,则有两种写法。一种是逐一指定路径。
  require.config({
    paths: {
      "jquery": "lib/jquery.min",
      "underscore": "lib/underscore.min",
      "backbone": "lib/backbone.min"
另一种则是直接改变基目录(baseUrl)。
  require.config({
    baseUrl: "js/lib",
    paths: {
      "jquery": "jquery.min",
      "underscore": "underscore.min",
      "backbone": "backbone.min"
如果某个模块在另一台主机上,也可以直接指定它的网址,比如:
  require.config({
    paths: {
      "jquery": "/ajax/libs/jquery/1.7.2/jquery.min"
require.js要求,每个模块是一个单独的js文件。这样的话,如果加载多个模块,就会发出多次HTTP请求,会影响网页的加载速度。因此,require.js提供了一个,当模块部署完毕以后,可以用这个工具将多个模块合并在一个文件中,减少HTTP请求数。
五、AMD模块的写法
require.js加载的模块,采用AMD规范。也就是说,模块必须按照AMD的规定来写。
具体来说,就是模块必须采用特定的define()函数来定义。如果一个模块不依赖其他模块,那么可以直接定义在define()函数之中。
假定现在有一个math.js文件,它定义了一个math模块。那么,math.js就要这样写:
  // math.js
  define(function (){
    var add = function (x,y){
      return x+y;
    };
    return {
      add: add
    };
加载方法如下:
  // main.js
  require(['math'], function (math){
    alert(math.add(1,1));
如果这个模块还依赖其他模块,那么define()函数的第一个参数,必须是一个数组,指明该模块的依赖性。
  define(['myLib'], function(myLib){
    function foo(){
      myLib.doSomething();
    return {
      foo : foo
    };
当require()函数加载上面这个模块的时候,就会先加载myLib.js文件。
六、加载非规范的模块
理论上,require.js加载的模块,必须是按照AMD规范、用define()函数定义的模块。但是实际上,虽然已经有一部分流行的函数库(比如jQuery)符合AMD规范,更多的库并不符合。那么,require.js是否能够加载非规范的模块呢?
回答是可以的。
这样的模块在用require()加载之前,要先用require.config()方法,定义它们的一些特征。
举例来说,underscore和backbone这两个库,都没有采用AMD规范编写。如果要加载它们的话,必须先定义它们的特征。
  require.config({
    shim: {
      'underscore':{
        exports: '_'
      },
      'backbone': {
        deps: ['underscore', 'jquery'],
        exports: 'Backbone'
      }
require.config()接受一个配置对象,这个对象除了有前面说过的paths属性之外,还有一个shim属性,专门用来配置不兼容的模块。具体来说,每个模块要定义(1)exports值(输出的变量名),表明这个模块外部调用时的名称;(2)deps数组,表明该模块的依赖性。
比如,jQuery的插件可以这样定义:
  shim: {
    'jquery.scroll': {
      deps: ['jquery'],
      exports: 'jQuery.fn.scroll'
七、require.js插件
require.js还提供一系列,实现一些特定的功能。
domready插件,可以让回调函数在页面DOM结构加载完成后再运行。
  require(['domready!'], function (doc){
    // called once the DOM is ready
text和image插件,则是允许require.js加载文本和图片文件。
  define([
    'text!review.txt',
    'image!cat.jpg'
    ],
    function(review,cat){
      console.log(review);
      document.body.appendChild(cat);
类似的插件还有json和mdown,用于加载json文件和markdown文件。
CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。
浏览器安全的基石是"同源政策"(same-origin policy)。很多开发者都知道这一点,但了解得不全面。
前面的文章介绍了 Systemd 的操作命令和基本用法,今天给出一个实例,如何使用 Systemd 启动一个 Node 应用。
越来越多的人,使用React开发Web应用。它的测试就成了一个大问题。前端小问题:新浪首页为啥有很多 js 和 css 都是直接写在 html 里的?而不是引用。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
已注册用户请 &
Sponsored by
国内领先的实时后端云野狗 API 可用于开发即时聊天、网络游戏、实时定位等实时场景传输快!响应快!入门快!
Promoted by
前端小问题:新浪首页为啥有很多 js 和 css 都是直接写在 html 里的?而不是引用。
14:11:01 +08:00 · 2508 次点击
才开始入门前端工程,看书一直以为引用才是最佳选择。求各位解惑。
21 回复 &| &直到
08:00:00 +08:00
& & 14:23:37 +08:00
什么js都引用很浪费连接数的。
& & 14:26:27 +08:00
看google首页
& & 14:33:59 +08:00
速度快。
其实不是写在页面里的,而是最终编译生成页面的时候放进去的
& & 14:37:38 +08:00 via iPhone
我怀疑ujs机制搞得……比如ajax之间请求到某些动态js贴在页面上
& & 14:43:42 +08:00
你要学习前端的话,国内这些门户网站就不要看了
乱得要死才是正常的
& & 14:47:39 +08:00
@ +1
应该是压缩到一起的,载入更快。这种方式适合 JS 功能复杂的单页
& & 14:50:09 +08:00 via iPhone
大网站带宽不是问题,所以这都不是事。
& & 14:50:30 +08:00
@ 恩,这是首先想到的。
& & 14:50:46 +08:00
@ 好吧,打开之后我彻底跪了。
& & 14:53:37 +08:00
先谢。感觉这是真相。 有什么文章专门分享这一类的知识吗?
& & 15:46:59 +08:00
@ 是问题好嘛! 带宽都是钱!!
& & 16:01:35 +08:00
@ 高性能网站建设指南
构建高性能Web站点
& & 16:32:51 +08:00
@ 收下,瞅瞅先。谢谢
& & 16:59:28 +08:00
链接请求 比下载css文件费事。。你可以用一台2G手机 体验下差距。。
引用其实 主要意义在于 很多页面 用同一个css就不用 重复下载了。。。
至于开发,工具都能做到的。
& & 17:16:53 +08:00
@ 是的,楼主看到的编译之后的代码!
& & 18:04:59 +08:00
@ 这些属于前端优化,去搜索 YSlow 吧
& & 18:11:02 +08:00
浏览器显示的html代码不一定就是这么写的,很多都是后台代码编译出来的.
& & 18:13:26 +08:00
对于门户网站来说节约1kb或少加载一个文件也是了不起的进步。所以他们尽可能的压缩文件大小、连接数。
& & 18:17:45 +08:00
如果一段代码,在整个网站中只引用这一次,其他页面根本不会出现的话,可能直接写在页面里才是最佳操作吧。
当然,如果出现多次的代码,还是放在一个文件里,合并缓存。
不过新浪那样的网站建议还是不要参考,首先是他们的负载已经不是流量而是连接数了,其次我想大部分网站的复杂程度达不到那样,所以也不会需要这样肮脏的解决问题。
& & 18:18:25 +08:00
对大网站来说,减少不必要的请求很有必要。
& & 13:22:06 +08:00
为了减少请求数
& · & 1299 人在线 & 最高记录 1847 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.7.3 · 49ms · UTC 10:41 · PVG 18:41 · LAX 03:41 · JFK 06:41? Do have faith in what you're doing.

我要回帖

更多关于 html是编程语言吗 的文章

 

随机推荐