Javascript 教程 在线

455JavaScript语法

三种变量命名规则:

var firstName='king';//小驼峰

var FirstName='queen';//大驼峰

var first_name='maizi';//下划线法

454JavaScript 输出

解决文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖的问题

<button onclick="winTest()">按钮</button>
function winTest()
{
    var txt1 = "This is a new window.";
    var txt2 = "This is a test.";
    document.open("text/html","replace");//加上
    document.writeln(txt1);
    document.write(txt2);
    document.close();//加上
}

尝试一下 »

点击 "按钮" 后页面显示结果:

This is a new window. This is a test.

注:该方法将关闭 open() 方法打开的文档流,并强制地显示出所有缓存的输出内容。如果您使用 write() 方法动态地输出一个文档,必须记住当你这么做的时候要调用 close() 方法,以确保所有文档内容都能显示。document.write() 不会隐式调用 document.close() 方法的,否则例 2 中将不会有 This is a new window. 内容了

一旦调用了close(),就不应该再次调用 write(),因为这会隐式地调用 open() 来擦除当前文档并开始一个新的文档。

在载入页面后,浏览器输出流自动关闭。在此之后,比如延迟脚本 [setTimeout()] 或是 onload 执行的方法,任何一个对当前页面进行操作的 document.write()方法将打开—个新的输出流,它将清除当前页面内容(包括源文档的任何变量或值)。

453JavaScript输出

美化 console.log

console.log 可以添加显示样式 eg:

console.log('%cfuck', 'font-size:20px')

我们用 IIFE 封装下:

(function() {
    var _log = console.log;
    console.log = function() {
        if (typeof(arguments[0]) != 'object' && typeof(arguments[0]) != 'function' && arguments.length == 1) {
            _log.call(console, '%c' + arguments[0], "text-shadow: 0 1px 0 #ccc,0 2px 0 #c9c9c9,0 3px 0 #bbb,0 4px 0 #b9b9b9,0 5px 0 #aaa,0 6px 1px rgba(0,0,0,.1),0 0 5px rgba(0,0,0,.1),0 1px 3px rgba(0,0,0,.3),0 3px 5px rgba(0,0,0,.2),0 5px 10px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.2),0 20px 20px rgba(0,0,0,.15);font-size:5em")
        } else {
            _log.call(console, ...arguments)
        }
    }
})()

代码的意思是如果 console 只有一个参数,并且不是函数或者对象就用我们定义的样式,否则用 console 的默认输入。然后用油猴之类的插件在页面加载时就加载这个函数,就可以告别原来无聊的调试了,当然你也可以写一个样式库,写一个随机函数,这样每次 console 都会有惊喜了。

452JavaScript输出

window.alert 的补充:

window.alert(5+6)window.alert("5+6") 输出的值是不一样的。window.alert(5+6) 会输出 11,而window.alert("5+6") 会输出 5+6。这是因为当用引号时会认为引号中是字符串,从而直接将引号中的内容打印出来。

尝试一下 »

451JavaScript输出

DOM 解释

您会经常看到 document.getElementById("id")

这个方法是 HTML DOM 中定义的。

DOM (Document Object Model)(文档对象模型)是用于访问 HTML 元素的正式 W3C 标准。

格式<script>

那些老旧的实例可能会在 <script> 标签中使用 type="text/javascript"。

现在已经不必这样做了。

JavaScript 是所有现代浏览器以及 HTML5 中的默认脚本语言。

脚本位置

在 <head> 或者 <body> 的JavaScript

外部脚本不能包含 <script> 标签。

输出数据

window.alert() 弹出警告框。

document.write() 方法将内容写到 HTML 文档中。

innerHTML 写入到 HTML 元素。

console.log() 写入到浏览器的控制台。

输出内容

使用 document.write() 向文档输出写内容。

如果在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖

写到控制台(调试模式)

使用 console.log() 方法在浏览器中显示 JavaScript 值。

F12 启用调试模式, 在调试窗口中点击 "Console" 菜单。