javaScript基础知识
来源:互联网 发布:安庆网络问政平台2017 编辑:程序博客网 时间:2024/06/08 03:02
1.JavaScript组
1.1 ECMAScript:解释器、翻译、 核心 几乎没有兼容性问题
1.2 DOM:Document Object Model document 操作HTML的能力 有一些操作不兼容
1.3 BOM:Browser Object Model 浏览器 window 没有兼容问题(完全不兼容)
2.变量类型
2.1 常见类型: number string boolean undefiend object function
2.2 如何判断变量的类型: typeof运算符
2.3 注意:一个变量应该只存放一种类型的数据
2.4 例子:
var a = 12;
alert(typeof(a));
var b = 'a';
alert(typeof(b));
var c = "hello world";
alert(typeof(c));
var d = true;
alert(typeof(d));
var e = function(){}
alert(typeof(e));
var f = [1,2,3];
alert(typeof(f));
alert(typeof(g));
2.5 数据类型转换
2.5.1 显示类型转换(强制类型转换): parseInt() parseFloat()
var a = "12";
alert(parseInt(a));//12
var b = "12asdf";
alert(parseInt(b));//12
var c = "12asdf11";
alert(parseInt(c));//12
var d = "asdfg";
alert(parseInt(d));//NaN
NaN: not a number 非数字
var a=parseInt('abc');
var b=parseInt('def');
alert(a==b);//false
isNaN:判断一个变量是不是数字,true表示不是一个数字,false表示是一个数字。
var a = parseInt(12);
alert(isNaN(a));//false
var b = parseInt("abcd");
alert(isNaN(b));//true
var a = parseFloat(12.23);
alert(a);
2.5.2 隐式类型转换 == === -
var a = 12;
var b = '12';
alert(a==b);//true 先转换类型,然后比较
alert(a===b);//false 不转换类型,直接比较
alert(a+b);//1212 不转换类型,字符串链接
alert(a-b);//0 先转换类型,然后相减
3. 变量作用域和闭包
3.1 变量作用域(作用范围): 局部变量、全局变量
3.2 闭包:子函数可以使用父函数中的局部变量
4. 命名规范
4.1 命名规范及必要性:可读性--能看懂;规范性--符合规则
4.2 匈牙利命名法:类型前缀;首字母大写
4.3 例子
5.运算符
5.1 算数运算符:+ - * / %
5.2 赋值运算符:= += -= *= /+ %=
5.3 关系运算符:< > <= >= == === != !===
5.4 逻辑运算符:&& || !
5.5 运算符优先级:()
6.程序流程控制
6.1 判断:if、switch、?:
6.2 循环:while、 for
6.3 跳出:break、continue
6.4 什么是真,什么是假:真(true、非零数字、非空字符串、非空对象) 假(false、数字零、空字符串、空对象、undefiend)
7.JSON
7.1 什么是JSON
var json = {a: 1,b: 'a', c:"hello world"};
alert(json.a);//1
alert(json.b);//a
alert(json.c);//hello world
7.2 json和数组
var arr = [1,2,3];
alert("arr的长度是:"+arr.length);
for(var i=0; i<arr.length; i++){
alert(arr[i]);
}
for( var i in arr){
alert("arr的第"+i+"个元素是"+arr[i]);
}
var json = {a: 1,b: 2, c: 3};
alert("a是:"+json['a']);
for(var i in json){
alert("json的第"+i+"个元素是"+json[i]);
}
7.3 json 和 for in
var json = {a: 1,b: 2, c: 3};
alert("a是:"+json['a']);
for(var i in json){
alert("json的第"+i+"个元素是"+json[i]);
}
8. 函数
8.1 函数的定义
//方法定义方式一
var add = function(){
alert(1);
}
//方法定义方式二
function addNumber(){
alert(2);
}
add();//调用方法一
addNumber();//调用方法二
8.2 函数的返回值:函数的执行结果,一个函数应该只返回一种类型的值。
function add(a,b){
return a+b;
}
var c = add(2,4);
alert(c);
8.3 函数传参
8.3.1 可变参:arguments 参数的个数可变,参数数组
//例子求和
function sum(){
var a = 0;
for(var i=0;i<arguments.length;i++){
a+=arguments[i];
}
return a;
}
var c = sum(2,4,2,4,2,4,4,2,4,2,4,2,4,2,4,2,4,2,4,2);
alert(c);
//css函数
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script>
function css(obj, name, value)
{
if(arguments.length==2) //获取
{
return obj.style[name];
}
else
{
obj.style[name]=value;
}
}
window.onload=function ()
{
var oDiv=document.getElementById('div1');
alert(css(oDiv, 'width'));
//css(oDiv, 'background', 'green');
};
</script>
</head>
<body>
<div id="div1" style="width:200px; height:200px; background:red;"></div>
</body>
</html>
8.3.2 获取非行间样式(不能用来设置)
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
#div1 {width:200px; height:200px; background:red;}
</style>
<script>
function getStyle(obj, name){
if(obj.currentStyle){
return obj.currentStyle[name];
}
else{
return getComputedStyle(obj, false)[name];
}
}
window.onload=function (){
var oDiv=document.getElementById('div1');
alert(getStyle(oDiv, 'width'));
};
</script>
</head>
<body>
<div id="div1"></div>
</body>
</html>
9. 数组
9.1 数组的定义
var arr = [1,2,3]
alert(arr.length);
var arr1 = new Array(1,2,3);
alert(arr1.length);
9.2 数组的属性 length
既可以获取,又可以设置。设置可以用来清空数组。
var arr = [1,2,3]
alert(arr);
arr.length = 0;
alert(arr);
9.3 数组的使用原则:数组中应该只存一种类型的变量
9.4 添加元素:push(元素) 从尾部添加;unshift(元素) 从头部添加。
var arr = [1,2,3]
arr.unshift(0);
alert(arr);
arr.push(4);
alert(arr);
9.5 删除元素:pop() 从尾部删除; shift() 从头部删除。
var arr = [1,2,3]
arr.shift();
alert(arr);
arr.pop();
9.6 排序:sort([比较函数]),排序一个数组
//排序一个字符串数组
var arr = ["asd","bsdfga","ags","bedf"];
arr.sort();
alert(arr);
//排序一个数字数组
var arr = [12,123,234,21,452,2];
arr.sort(function(n1,n2){
return n1-n2;
});
alert(arr);
9.7 转换类
concat(数组):连接两个数组
var a = [1,2,3];
var b = [4,5,6];
var c = a.concat(b);
alert(c);
join(分隔符):分割两个数组。用分隔符组合数组元素,生成字符串。
var a = [1,2,3,4,5,6];
var b = a.join("--");
alert(b);
split():切割字符串
var a = "1--2--3--4--5--6";
var b = a.split("--");
alert(b.length);
for(var i=0; i<b.length;i++){
alert(b[i]);
}
9.8 splic 插入删除替换元素
var arr=[1,2,3,4,5,6];
//删除:splice(起点, 长度)
arr.splice(2, 3);
alert(arr);//1,2,6
//插入:splice(起点, 长度, 元素...);
arr.splice(2, 0, 'a', 'b', 'c');
alert(arr);//1,2,a,b,c,3,4,5,6
//替换splic(起点, 长度, 元素...)
arr.splice(2, 2, 'a', 'b');
alert(arr);//1,2,a,b,5,6
1.1 ECMAScript:解释器、翻译、 核心 几乎没有兼容性问题
1.2 DOM:Document Object Model document 操作HTML的能力 有一些操作不兼容
1.3 BOM:Browser Object Model 浏览器 window 没有兼容问题(完全不兼容)
2.变量类型
2.1 常见类型: number string boolean undefiend object function
2.2 如何判断变量的类型: typeof运算符
2.3 注意:一个变量应该只存放一种类型的数据
2.4 例子:
var a = 12;
alert(typeof(a));
var b = 'a';
alert(typeof(b));
var c = "hello world";
alert(typeof(c));
var d = true;
alert(typeof(d));
var e = function(){}
alert(typeof(e));
var f = [1,2,3];
alert(typeof(f));
alert(typeof(g));
2.5 数据类型转换
2.5.1 显示类型转换(强制类型转换): parseInt() parseFloat()
var a = "12";
alert(parseInt(a));//12
var b = "12asdf";
alert(parseInt(b));//12
var c = "12asdf11";
alert(parseInt(c));//12
var d = "asdfg";
alert(parseInt(d));//NaN
NaN: not a number 非数字
var a=parseInt('abc');
var b=parseInt('def');
alert(a==b);//false
isNaN:判断一个变量是不是数字,true表示不是一个数字,false表示是一个数字。
var a = parseInt(12);
alert(isNaN(a));//false
var b = parseInt("abcd");
alert(isNaN(b));//true
var a = parseFloat(12.23);
alert(a);
2.5.2 隐式类型转换 == === -
var a = 12;
var b = '12';
alert(a==b);//true 先转换类型,然后比较
alert(a===b);//false 不转换类型,直接比较
alert(a+b);//1212 不转换类型,字符串链接
alert(a-b);//0 先转换类型,然后相减
3. 变量作用域和闭包
3.1 变量作用域(作用范围): 局部变量、全局变量
3.2 闭包:子函数可以使用父函数中的局部变量
4. 命名规范
4.1 命名规范及必要性:可读性--能看懂;规范性--符合规则
4.2 匈牙利命名法:类型前缀;首字母大写
4.3 例子
类型前缀类型实例数组aArrayaItems布尔值bBooleanbIsComplete浮点数fFloatfPrice函数fnFunctionfnAdd整数iIntegeriNumber对象oObjectoDiv正则表达式reRegExpreEmailCheck字符串sStringsUserName变体变量vVariant vAnything
5.运算符
5.1 算数运算符:+ - * / %
5.2 赋值运算符:= += -= *= /+ %=
5.3 关系运算符:< > <= >= == === != !===
5.4 逻辑运算符:&& || !
5.5 运算符优先级:()
6.程序流程控制
6.1 判断:if、switch、?:
6.2 循环:while、 for
6.3 跳出:break、continue
6.4 什么是真,什么是假:真(true、非零数字、非空字符串、非空对象) 假(false、数字零、空字符串、空对象、undefiend)
7.JSON
7.1 什么是JSON
var json = {a: 1,b: 'a', c:"hello world"};
alert(json.a);//1
alert(json.b);//a
alert(json.c);//hello world
7.2 json和数组
var arr = [1,2,3];
alert("arr的长度是:"+arr.length);
for(var i=0; i<arr.length; i++){
alert(arr[i]);
}
for( var i in arr){
alert("arr的第"+i+"个元素是"+arr[i]);
}
var json = {a: 1,b: 2, c: 3};
alert("a是:"+json['a']);
for(var i in json){
alert("json的第"+i+"个元素是"+json[i]);
}
7.3 json 和 for in
var json = {a: 1,b: 2, c: 3};
alert("a是:"+json['a']);
for(var i in json){
alert("json的第"+i+"个元素是"+json[i]);
}
8. 函数
8.1 函数的定义
//方法定义方式一
var add = function(){
alert(1);
}
//方法定义方式二
function addNumber(){
alert(2);
}
add();//调用方法一
addNumber();//调用方法二
8.2 函数的返回值:函数的执行结果,一个函数应该只返回一种类型的值。
function add(a,b){
return a+b;
}
var c = add(2,4);
alert(c);
8.3 函数传参
8.3.1 可变参:arguments 参数的个数可变,参数数组
//例子求和
function sum(){
var a = 0;
for(var i=0;i<arguments.length;i++){
a+=arguments[i];
}
return a;
}
var c = sum(2,4,2,4,2,4,4,2,4,2,4,2,4,2,4,2,4,2,4,2);
alert(c);
//css函数
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script>
function css(obj, name, value)
{
if(arguments.length==2) //获取
{
return obj.style[name];
}
else
{
obj.style[name]=value;
}
}
window.onload=function ()
{
var oDiv=document.getElementById('div1');
alert(css(oDiv, 'width'));
//css(oDiv, 'background', 'green');
};
</script>
</head>
<body>
<div id="div1" style="width:200px; height:200px; background:red;"></div>
</body>
</html>
8.3.2 获取非行间样式(不能用来设置)
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
#div1 {width:200px; height:200px; background:red;}
</style>
<script>
function getStyle(obj, name){
if(obj.currentStyle){
return obj.currentStyle[name];
}
else{
return getComputedStyle(obj, false)[name];
}
}
window.onload=function (){
var oDiv=document.getElementById('div1');
alert(getStyle(oDiv, 'width'));
};
</script>
</head>
<body>
<div id="div1"></div>
</body>
</html>
9. 数组
9.1 数组的定义
var arr = [1,2,3]
alert(arr.length);
var arr1 = new Array(1,2,3);
alert(arr1.length);
9.2 数组的属性 length
既可以获取,又可以设置。设置可以用来清空数组。
var arr = [1,2,3]
alert(arr);
arr.length = 0;
alert(arr);
9.3 数组的使用原则:数组中应该只存一种类型的变量
9.4 添加元素:push(元素) 从尾部添加;unshift(元素) 从头部添加。
var arr = [1,2,3]
arr.unshift(0);
alert(arr);
arr.push(4);
alert(arr);
9.5 删除元素:pop() 从尾部删除; shift() 从头部删除。
var arr = [1,2,3]
arr.shift();
alert(arr);
arr.pop();
9.6 排序:sort([比较函数]),排序一个数组
//排序一个字符串数组
var arr = ["asd","bsdfga","ags","bedf"];
arr.sort();
alert(arr);
//排序一个数字数组
var arr = [12,123,234,21,452,2];
arr.sort(function(n1,n2){
return n1-n2;
});
alert(arr);
9.7 转换类
concat(数组):连接两个数组
var a = [1,2,3];
var b = [4,5,6];
var c = a.concat(b);
alert(c);
join(分隔符):分割两个数组。用分隔符组合数组元素,生成字符串。
var a = [1,2,3,4,5,6];
var b = a.join("--");
alert(b);
split():切割字符串
var a = "1--2--3--4--5--6";
var b = a.split("--");
alert(b.length);
for(var i=0; i<b.length;i++){
alert(b[i]);
}
9.8 splic 插入删除替换元素
var arr=[1,2,3,4,5,6];
//删除:splice(起点, 长度)
arr.splice(2, 3);
alert(arr);//1,2,6
//插入:splice(起点, 长度, 元素...);
arr.splice(2, 0, 'a', 'b', 'c');
alert(arr);//1,2,a,b,c,3,4,5,6
//替换splic(起点, 长度, 元素...)
arr.splice(2, 2, 'a', 'b');
alert(arr);//1,2,a,b,5,6
0 0
- javascript基础知识
- JavaScript基础知识
- javascript基础知识
- javascript基础知识
- JavaScript基础知识
- JavaScript基础知识
- JavaScript基础知识
- JavaScript基础知识
- javascript基础知识
- javascript基础知识
- javascript基础知识
- javascript基础知识
- Javascript基础知识
- javascript -基础知识
- JavaScript基础知识
- javascript基础知识
- javascript基础知识
- javascript 基础知识
- MySQL连接方式
- 让eclipse读取ftl格式的文件
- 栈区和堆区内存分配区别
- 同步VS异步 阻塞VS非阻塞
- C++ 编程题练习(9-2)
- javaScript基础知识
- Python实现mapreduce程序
- 安装node-sass遇到的各种各样的问题及解决
- ibatis $ 和 # 的区别
- 使用scanf函数时应该注意的问题
- SAP 请勿打扰
- CSS经验分享
- 从mms源码看IM应用的架构<二>
- android listview的item的展开与隐藏