2015-08-01 16:20

JavaScript使用时需要注意的地方

1、
引入JS的位置:最好的做法是把<script>的标签放到HTML文档的最后、</body>标签之前;
作用:这样能使浏览器更快地加载页面;

1.2、
引入JS必须有完整开始和结束标签<script></script>,
<script />这样写不行;

2、
JavaScript是解释型语言,由浏览器中的JavaScript解释器来解释并执行;

3、
JavaScript是弱类型语言
不需要声明变量的类型;
并且可以在程序过程中改变变量的数据类型;

4、
声明和赋值最有效率的方法:
用一条语句声明多个变量并赋值;
var i = 1, a = "ok";

5、
单引号与双引号的嵌套使用,逃离符号;
var a = "it's a dog", b = 'he said, "Are you OK ?"', c = "he said, \"Are you OK ?\"", d = 'it\'s a dog';
养成良好的习惯:在代码中统一用单引号或双引号表示字符串;

6、
可以把不同的数据类型混在一起存入一个数组;
var arr = ["scott",23,false];

7、
创建数组和对象,可以没有new,也可以new;
var arr = Array();//var arr = new Array(); 
arr[0] = "scott"; 
arr[1] = 23; 
arr[2] = false; 

var arr = ["scott",23,false];

var obj = Object();//var obj = new Object();
obj.name = "scott";
obj.age = 23;
obj.marry = false;

var obj = {name:"scott", age:23, marry:false};

8、
相等操作符==并不表示完全相等,会认为空字符串""和false的含义相同;
要进行严格比较,就要使用全等操作符===,这个全等操作符会执行严格的比较,不仅比较值,还比较变量的数据类型;
不等操作符!=也是如此,!==执行严格的比较;
var pk1 = "", pk2 = false;

if(pk1 == pk2){
alert("yes");//yes
}

if(pk1 === pk2){
alert("yes");
}else{
alert("no");//no
}

if(pk1 !== pk2){
alert("no");//no
}

2015-08-04 13:58

JavaScript内建函数

 /*JavaScript内建函数:
分为五类:
   ·常规函数
   ·数组函数 var array = new Array();
   ·日期函数 var date = new Date();
   ·数学函数
   ·字符串函数 常规函数
   javascript常规函数包括以下9个函数:
   (1)alert函数:显示一个警告对话框,包括一个OK按钮。
   (2)confirm函数:显示一个确认对话框,包括OK、Cancel按钮。
   (3)escape函数:将字符转换成Unicode码。
   (4)eval函数:计算表达式的结果。
   (5)isNaN函数:测试是(true)否(false)不是一个数字。
   (6)parseFloat函数:将字符串转换成符点数字形式。
   (7)parseInt函数:将符串转换成整数数字形式(可指定几进制)。
   (8)prompt函数:显示一个输入对话框,提示等待用户输入。
   (9)unescape函数:解码由escape函数编码的字符。
*/
var input = prompt("请输入您的姓名","姓名");
alert(input); var cfm = confirm("确定否!");
alert(cfm); //日期函数
//getYear函数:返回日期的“年”部分。返回值以1900年为基数,例如1999年为99。
//getMonth函数:返回日期的“月”部分,值为0~11。其中0表示1月,2表示3月,...,11表示12月。
//getDay函数:返回星期几,值为0~6,其中0表示星期日,1表示星期一,...,6表示星期六。
var date = new Date();
var yyyymmdd = (1900 + date.getYear()) + "-" + (1 + date.getMonth()) + "-" + date.getDate();
var week = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
var i = date.getDay();
var hh24miss = date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
alert(yyyymmdd + " " + week[i] + " " + hh24miss);

实用JavaScript函数

 //把函数绑定到window.onload事件
function addLoadEvent(functionName){
//把现有的window.onload事件处理函数的值存入变量oldonload
var oldonload = window.onload;
//如果window.onload事件没有绑定函数,直接把新函数添加给它;
//如果window.onload事件已经绑定了函数,就把新函数追加到现有函数的末尾,这将把那些在页面加载完毕时执行的函数创建为一个队列;
if(typeof window.onload != "function"){
window.onload = functionName;
}else{
window.onload = function(){
oldonload();
functionName();
}
}
} //在指定的已有子节点之后插入新的子节点
function insertAfter(newElement, targetElement){
//把目标元素的parentNode属性值保存到变量parent里;
var parent = target.parentNode;
//判断目标元素是不是parent的最后一个子元素;
//如果是,就直接将新元素追加到parent元素上;
//如果不是,就把新元素插入到目标元素的下一个兄弟元素之前
if(parent.lastChild == targetElement){
parent.appendChild(newElement);
}else{
parent.insertBefore(newElement, targetElement.nextSibling);
}
}

2015-08-04 12:36

W3C DOM

  “W3C 文档对象模型 (DOM) 是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。”

  DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。 DOM实际上是以面向对象方式描述的文档模型。DOM定义了表示和修改文档所需的对象、这些对象的行为和属性以及这些对象之间的关系。 最初人们把它认为是一种让JavaScript在浏览器间可移植的方法,不过DOM的应用已经远远超出这个范围。Dom技术使得用户页面可以动态地变化,如可以动态地显示或隐藏一个元素,改变它们的属性,增加一个元素等,Dom技术使得页面的交互性大大地增强。

  W3C DOM 标准被分为 3 个不同的部分:

  Core DOM - 针对任何结构化文档的标准模型

  XML DOM - 针对 XML 文档的标准模型

  HTML DOM - 针对 HTML 文档的标准模型

  

  Core DOM:核心DOM

  常见的Core DOM方法如下:

  1、创建节点  createElement() 方法可创建元素节点。此方法可返回一个 Element 对象。  createTextNode() 可创建文本节点。此方法可返回 Text 对象。

  2、复制节点  cloneNode(Boolean) 方法创建节点的拷贝,并返回该副本。

  3、插入节点  appendChild() 方法向节点添加最后一个子节点。     insertBefore() 方法在指定的已有子节点之前插入新的子节点。

  4、删除节点  removeChild() 方法删除指定元素的某个指定的子节点。

  5、替换节点  replaceChild() 方法用新节点替换某个子节点。

  6、查找节点  getElementById() 方法可返回对拥有指定 ID 的第一个对象的引用。  getElementsByTagName() 方法可返回带有指定标签名的对象的集合。  hasChildNodes() 方法判断当前元素节点是否拥有子节点。

  7、查找、修改、删除节点属性  getAttribute() 方法返回指定属性名的属性值。  setAttribute() 方法创建或改变某个新属性。  removeAttribute() 方法删除指定的属性。

  常见的Core DOM属性如下:

  nextSibling 属性返回被选节点的下一个同级节点(在相同树层级中的下一个节点)。

  previousSibling 属性返回选定节点的上一个同级节点(在相同树层级中的前一个节点)。

  parentNode 属性返回指定节点的父节点。

  childNodes 属性返回节点的子节点集合,以 NodeList 对象。

  firstChild 属性返回指定节点的首个子节点,以 Node 对象。

  lastChild 属性返回被选节点的最后一个子节点。

  nodeType 属性返回以数字值返回指定节点的节点类型。

  nodeValue 属性设置或返回指定节点的节点值。

JavaScript的更多相关文章

  1. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

  2. javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈

    Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...

  3. Javascript 的执行环境(execution context)和作用域(scope)及垃圾回收

    执行环境有全局执行环境和函数执行环境之分,每次进入一个新执行环境,都会创建一个搜索变量和函数的作用域链.函数的局部环境不仅有权访问函数作用于中的变量,而且可以访问其外部环境,直到全局环境.全局执行环境 ...

  4. 探究javascript对象和数组的异同,及函数变量缓存技巧

    javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...

  5. 读书笔记:JavaScript DOM 编程艺术(第二版)

    读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...

  6. 《Web 前端面试指南》1、JavaScript 闭包深入浅出

    闭包是什么? 闭包是内部函数可以访问外部函数的变量.它可以访问三个作用域:首先可以访问自己的作用域(也就是定义在大括号内的变量),它也能访问外部函数的变量,和它能访问全局变量. 内部函数不仅可以访问外 ...

  7. JavaScript权威指南 - 函数

    函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...

  8. JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome

    今天为大家分享一下我自己制作的浏览器滚动条,我们知道用css来自定义滚动条也是挺好的方式,css虽然能够改变chrome浏览器的滚动条样式可以自定义,css也能够改变IE浏览器滚动条的颜色.但是css ...

  9. JavaScript进阶之路(一)初学者的开始

    一:写在前面的问题和话 一个javascript初学者的进阶之路! 背景:3年后端(ASP.NET)工作经验,javascript水平一般般,前端水平一般般.学习资料:犀牛书. 如有误导,或者错误的地 ...

  10. 梅须逊雪三分白,雪却输梅一段香——CSS动画与JavaScript动画

    CSS动画并不是绝对比JavaScript动画性能更优越,开源动画库Velocity.js等就展现了强劲的性能. 一.两者的主要区别 先开门见山的说说两者之间的区别. 1)CSS动画: 基于CSS的动 ...

随机推荐

  1. Asp.Net Mvc 使用WebUploader 多图片上传

    来博客园有一个月了,哈哈.在这里学到了很多东西.今天也来试着分享一下学到的东西.希望能和大家做朋友共同进步. 最近由于项目需要上传多张图片,对于我这只菜鸟来说,以前上传图片都是直接拖得控件啊,而且还是 ...

  2. opencv中Mat与IplImage,CVMat类型之间转换

    opencv中对图像的处理是最基本的操作,一般的图像类型为IplImage类型,但是当我们对图像进行处理的时候,多数都是对像素矩阵进行处理,所以这三个类型之间的转换会对我们的工作带来便利. Mat类型 ...

  3. 在离线环境中使用.NET Core

    在离线环境中使用.NET Core 0x00 写在开始 很早开始就对.NET Core比较关注,一改微软之前给人的印象,变得轻量.开源.跨平台.最近打算试着在工作中使用.但工作是在与互联网完全隔离的网 ...

  4. iOS热更新-8种实现方式

    一.JSPatch 热更新时,从服务器拉去js脚本.理论上可以修改和新建所有的模块,但是不建议这样做. 建议 用来做紧急的小需求和 修复严重的线上bug. 二.lua脚本 比如: wax.热更新时,从 ...

  5. js面向对象学习 - 对象概念及创建对象

    原文地址:js面向对象学习笔记 一.对象概念 对象是什么?对象是“无序属性的集合,其属性可以包括基本值,对象或者函数”.也就是一组名值对的无序集合. 对象的特性(不可直接访问),也就是属性包含两种,数 ...

  6. iOS 委托与文本输入(内容根据iOS编程编写)

    文本框(UITextField) 本章节继续编辑 JXHypnoNerd .文件地址 . 首先我们继续编辑  JXHypnosisViewController.m 修改  loadView 方法,向  ...

  7. UML图中经常用到几种的关系图例

    学习这个东西挺奇怪的,时间一长就容易忘记,或者记不清楚.今天看到一些UML图的关系,发现有些出入了,索性就写下来,以后再忘记的时候过来看看. 在UML的类图中,常见的有以下几种关系: 继承(Gener ...

  8. iOS开发--ChildViewController实现订单页的切换

    先不说废话, 上效果图, 代码量也不大, 也不上传github骗星星了, 你们复制粘贴下代码, 就可以轻而易举的弄出一个小demo. 这个代码的实现并不复杂, 甚至于说非常简单, 就是逻辑有点小绕, ...

  9. MySQL常用命令

    数据库登陆命令: mysql -uroot -p 2.提示输入密码: 3.登陆成功: 4.数据库修改相关命令: 修改数据库的编码格式: 语法格式为:ALTER {DATABASE|SCHEMA}  [ ...

  10. Oracle 列数据聚合方法汇总

    网上流传众多列数据聚合方法,现将各方法整理汇总,以做备忘. wm_concat 该方法来自wmsys下的wm_concat函数,属于Oracle内部函数,返回值类型varchar2,最大字符数4000 ...