1.HTML DOM (Document Object Model)
document.getElementById("some id"): 这样的document就是DOM对象
JavaScript 能够改变任意 HTML 元素的大多数属性
*注意:
html - dom - document
浏览器 - bom - window
2.match()函数
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
语法:
stringObject.match(searchvalue) :必需。规定要检索的字符串值。
stringObject.match(regexp):必需。规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象
我们可以使用全局匹配的正则表达式来检索字符串中的所有数字:
<script type="text/javascript"> var str="1 plus 2 equal 3" document.write(str.match(/\d+/g)) </script>
3.Date()函数
Date()在js中直接调用结果:Sun Oct 09 2016 14:37:15 GMT+0800 (CST)var date = new Date();
var year = date.getFullYear(); var month = date.getMonth(); var day = date.getDay(); alert("今天是"+year+"年"+month+"月"+day+"日");
4.js对象:
{firstName:"John", lastName:"Doe", age:40, eyeColor:"blue"}
*注意: notation:n. 符号;乐谱;注释;记号法
json: javascript object notation
5.数据类型
JavaScript 有多种数据类型:数字,字符串,数组,对象等等
*注意:
16 + "你好" => "16你好"
5.JavaScript 使用Unicode字符集。
Unicode覆盖了所有的字符,包含标点等字符。
JavaScript 中,常见的是驼峰法的命名规则,如 lastName (而不是lastname)。
6.innerHTML与innerText 区别:
1)innerHTML:
也就是从对象的起始位置到终止位置的全部内容,包括Html标签。
2)innerText:
从起始位置到终止位置的内容, 但它去除Html标签
<div id="test"> <span style="color:red">test1</span> test2 </div>
获取id=test节点:
它的innerHTML就是:test1test2
它的innerText是:test1test2
*注意:
innerHTML是符合W3C标准的属性,而innerText只适用于IE浏览器,因此,尽可能地去使用innerHTML,而少用
innerText,如果要输出不含HTML标签的内容,可以使用innerHTML取得包含HTML标签的内容后,再用正则表达式去除HTML标签,下面是一个简单的符合W3C标准的示例:
去除HTML标签后的文本
*注意:JavaScript 是脚本语言。浏览器会在读取代码时,逐行地执行脚本代码。而对于传统编程来说,会在执行前对所有代码进行编译。
var carname;
在计算机程序中,经常会声明无值的变量。未使用值来声明的变量,其值实际上是 undefined。
在执行过以下语句后,变量carname的值将是 undefined:
var carname="Volvo";
var carname; // 在以下两条语句执行后,变量 carname 的值依然是 "Volvo":
对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:
eg:var person={firstname:"John", lastname:"Doe", id:5566};
var person={ firstname : "John", lastname : "Doe", id : 5566 };
name=person.lastname; name=person["lastname"];
var person={ firstname : "John", "lastname" : "Doe", id : 5566 };
Undefined 这个值表示变量不含有值。
可以通过将变量的值设置为 null 来清空变量。
cars = null
person = null
之后alert(cars) 结果为null,注意不是undefined
当您声明新变量时,可以使用关键词 "new" 来声明其类型:
var carname=new String; var x= new Number; var y= new Boolean; var cars= new Array; var person= new Object;
JavaScript 变量均为对象。当您声明一个变量时,就创建了一个新的对象。
1)键值对,对象属性
可以说 "JavaScript 对象是变量的容器"。
我们通常认为 "JavaScript 对象是键值对的容器"。
键值对在 JavaScript对象通常称为 对象属性。
对象键值对的写法类似于:
PHP 中的关联数组
Python 中的字典
C 语言中的哈希表
对象的方法定义了一个函数,并作为对象的属性存储。
对象方法通过添加 () 调用 (作为一个函数)。
name = person.fullName(); // person.fullName() 调用person对象的方法,返回的值赋值给了name
url:"http://www.xxxx", method:'GET', data:{}, header:{ 'Accept':'application/json' }, success:function(res){ that.setData({ images:res.data }) } }) // wx.request(); 调用函数.传入的是 js对象 {}
*注意:
函数属性作为一个方法访问与函数属性作为一个属性访问。
var person = { firstName: "John", lastName : "Doe", id : 5566, fullName : function() { return this.firstName + " " + this.lastName; } }; document.getElementById("demo").innerHTML = person.fullName(); // 方法访问 document.getElementById("demo").innerHTML = person.fullName;
JavaScript 变量的生命期从它们被声明的时间开始。
局部变量会在函数运行以后被删除。
全局变量会在页面关闭后被删除。
如果您把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。
carname="Volvo";
将声明一个全局变量 carname,即使它在函数内执行。
在html中,全局变量是window对象:所有数据变量都属于window对象
注意:要先执行myFunction()之后才能使用全局变量carName
HTML 事件是发生在HTML 元素上的事情。 当在HTML 页面中使用 JavaScript时, JavaScript可以触发这些事件。
var answer = "He is called 'Johnny'";
1)alert(answer[13]) ; // ' 2)answer.length 3)特殊字符
\' 单引号 \" 双引号 \\ 反斜杠 \n 换行 \r 回车 \t tab(制表符) \b 退格符 \f 换页符
通常,JavaScript 字符串是原始值,可以使用字符创建:var firstName = "John"
但我们也可以使用 new 关键字将字符串定义为一个对象:var firstName = new String("John")
不要创建String对象。它会拖慢执行速度,并可能产生其他副作用:
var x = "John"; var y = new String("John"); (x === y) // is false because x is a string and y is an object.
constructor 返回创建字符串属性属性的函数
length 返回字符串的长度
prototype 允许您向对象添加属性和方法
break 语句可用于跳出循环。
break 语句跳出循环后,会继续执行该循环之后的代码(如果有的话):
continue 语句中断循环中的迭代,如果出现了指定的条件,然后继续循环中的下一个迭代。 该例子跳过了值 3:
eg:
for (i=0;i<=10;i++) { if (i==3) continue; x=x + "The number is " + i + "<br>"; }
20.JavaScript typeof, null, 和 undefined
数组是一种特殊的对象类型。 因此 typeof [1,2,3,4]返回object。
可以设置为 null 来清空对象:
var person = null;
可以设置为 undefined 来清空对象:
var person = undefined;
在 JavaScript 中, undefined 是一个没有设置值的变量。
typeof 一个没有值的变量会返回 undefined。
typeof undefined // undefined typeof null // object null === undefined // false null == undefined // true
Number() 转换为数字, String() 转换为字符串, Boolean() 转化为布尔值。
string number boolean object function
Object Date Array
null undefined
String(x) // 将变量 x 转换为字符串并返回 String(123) // 将数字 123 转换为字符串并返回 String(100 + 23) // 将数字表达式转换为字符串并返回 x.toString() (123).toString() (100 + 23).toString()
String(false) // 返回 "false" String(true) // 返回 "true"
Boolean 方法 toString() 也有相同的效果。
false.toString() // 返回 "false" true.toString() // 返回 "true"