javascript-基础-基本&对象&函数&事件&字符串&条件&typeof/null/undefined

基本

javascript位置
放在script之间

<script>
alert("我的第一个 JavaScript");
</script>

body中的js加载时调用
head中的一般定义函数,在点击时调用
定义在body中,可以使用src引入,这时候的js函数和head中一样使用

<script src="myScript.js"></script>

输出

window.alert() 弹出警告框。
document.write() 方法将内容写到 HTML 文档中。
innerHTML 写入到 HTML 元素。
console.log() 写入到浏览器的控制台。

例子

window.alert(5 + 6);
document.getElementById("demo").innerHTML = "段落已修改。";
console.log(c);

常量

数字:3.14、1001、123e5
字符串:单引号或双引号
表达式:5 + 6
Array:[40, 100, 1, 5, 25, 10]
Object:{firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}
function:function myFunction(a, b) { return a * b;}

javascript中变量声明不会写类型,要看具体的形式,一共就这几种

var length = 16;                                  // Number 通过数字字面量赋值 
var points = x * 10;                              // Number 通过表达式字面量赋值
var lastName = "Johnson";                         // String 通过字符串字面量赋值
var cars = ["Saab", "Volvo", "BMW"];              // Array  通过数组字面量赋值
var person = {firstName:"John", lastName:"Doe"};  // Object 通过对象字面量赋值

变量

var x, length
x = 5
length = 6

关键字
JavaScript 关键字必须以字母、下划线(_)或美元符($)开始

abstract	else	instanceof	super
boolean	enum	int	switch
break	export	interface	synchronized
byte	extends	let	this
case	false	long	throw
catch	final	native	throws
char	finally	new	transient
class	float	null	true
const	for	package	try
continue	function	private	typeof
debugger	goto	protected	var
default	if	public	void
delete	implements	return	volatile
do	import	short	while
double	in	static	with

注释
//

字符集
Unicode

对象

例子

var person = {
    firstName: "John",
    lastName : "Doe",
    id : 5566,
    fullName : function() 
	{
       return this.firstName + " " + this.lastName;
    }
};

访问属性

person.lastName;
person["lastName"];

调用方法

name = person.fullName();
//也可以直接调用,会作为字符串返回
name = person.fullName;

函数

//声明
function myFunction(var1,var2)
{
	代码
}

//调用
myFunction(argument1,argument2)

//带返回值
function myFunction()
{
    var x=5;
    return x;
}

//调用
var myVar=myFunction();
document.getElementById("demo").innerHTML=myFunction();

函数内部变量是局部变量,函数结束后删除
函数外部变量是全局变量,所有脚本都能访问,网页关闭后删除
如果给未声明的变量赋值,该变量自动作为全局变量

carname="Volvo";

在html中变量属于windows

<script>
myFunction();
document.getElementById("demo").innerHTML =
	"我可以显示 " + window.carName;
function myFunction() 
{
    carName = "Volvo";
}
</script>

例子中html访问carName变量,需要使用window.carName

事件

HTML 事件可以是浏览器行为,也可以是用户行为
例子

HTML 页面完成加载
HTML input 字段改变时
HTML 按钮被点击

事件触发时,可以执行一些js代码;
HTML 元素中可以添加事件属性;
例子

##例子1
<button onclick="getElementById('demo').innerHTML=Date()">现在的时间是?</button>
<p id="demo"></p>

##例子2
<button onclick="this.innerHTML=Date()">现在的时间是?</button>

代码中JavaScript 代码将修改 id="demo" 元素的内容
例子2修改自身元素的内容
html事件

事件				描述
onchange		HTML 元素改变
onclick			用户点击 HTML 元素
onmouseover		用户在一个HTML元素上移动鼠标
onmouseout		用户从一个HTML元素上移开鼠标
onkeydown		用户按下键盘按键
onload			浏览器已完成页面的加载

字符串

//单双引号都可以
var carname = "Volvo XC60";
var carname = 'Volvo XC60';

//可以访问索引
var character = carname[7];

//可以使用引号,需要交叉一下
var answer = "It's alright";
var answer = "He is called 'Johnny'";
var answer = 'He is called "Johnny"';

//转义
var x = 'It\'s alright';
var y = "He is called \"Johnny\"";

特殊字符

\'	单引号
\"	双引号
\\	反斜杠
\n	换行
\r	回车
\t	tab(制表符)
\b	退格符
\f	换页符

字符串可以是对象,但是变为对象的字符串与字符串不等

var x = "John";
var y = new String("John");
typeof x // 返回 String
typeof y // 返回 Object

var x = "John";              
var y = new String("John");
(x === y) // 结果为 false,因为是字符串,y 是对象

属性

属性					描述
constructor			返回创建字符串属性的函数
length				返回字符串的长度
prototype			允许您向对象添加属性和方法

方法:http://www.runoob.com/jsref/jsref-obj-string.html

方法					描述
charAt()			返回指定索引位置的字符
charCodeAt()		返回指定索引位置字符的 Unicode 值
concat()			连接两个或多个字符串,返回连接后的字符串
fromCharCode()		将 Unicode 转换为字符串
indexOf()			返回字符串中检索指定字符第一次出现的位置
lastIndexOf()		返回字符串中检索指定字符最后一次出现的位置
localeCompare()		用本地特定的顺序来比较两个字符串
match()				找到一个或多个正则表达式的匹配
replace()			替换与正则表达式匹配的子串
search()			检索与正则表达式相匹配的值
slice()				提取字符串的片断,并在新的字符串中返回被提取的部分
split()				把字符串分割为子字符串数组
substr()			从起始索引号提取字符串中指定数目的字符
substring()			提取字符串中两个指定的索引号之间的字符
toLocaleLowerCase()	根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLocaleUpperCase()	根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLowerCase()		把字符串转换为小写
toString()			返回字符串对象值
toUpperCase()		把字符串转换为大写
trim()				移除字符串首尾空白
valueOf()			返回某个字符串对象的原始值

条件

条件运算符

variablename=(condition)?value1:value2

switch语句

var d=new Date().getDay();
switch (d)
{
    case 6:x="今天是星期六";
    break;
    case 0:x="今天是星期日";
    break;
    default:
    x="期待周末";
}
document.getElementById("demo").innerHTML=x;

for可遍历对象属性

var person={fname:"John",lname:"Doe",age:25}; 
for (x in person)
{
    txt=txt + person[x];
}

typeof/null/undefined

typeof检测数据类型

typeof "John"                // 返回 string 
typeof 3.14                  // 返回 number
typeof false                 // 返回 boolean

//JavaScript中数组是一种特殊对象
typeof [1,2,3,4]             // 返回 object
typeof {name:'John', age:34} // 返回 object

null的类型为对象

var person = null;

undefined清空变量

person = undefined;

Undefined 和 Null 的区别

typeof undefined             // undefined
typeof null                  // object
null === undefined           // false
null == undefined            // true
posted @ 2017-02-10 18:26  zhangshihai1232  阅读(114)  评论(0)    收藏  举报