01知识点
JavaScript 代码运行在浏览器(后缀名.js)
和java完全不同的东西,只是名称类型而已
src 引用脚本
<Script></Script>
alert(123);弹出对话框
var(不知道的 )和c#完全不一样
语法:
大小写敏感
弱类型语言:不指定占用多少内存,运行的时候知道
分号结束
注释(单行,多行)
字符串推荐使用单引号,也可以用双引号
定义方法:
function showTime()
{
var time = new Date();
alert(time.toString());
return false;
}
</script>
<br/>
<input type="button" value="时间" onclick="showTime()"/>
<br/>
<a href="www.itcast.cn" onclick="return showTime();">显示时间</a>
<br/>
<a href="javascript:showTime();"> 显示时间 </a>
{
var time = new Date();
alert(time.toString());
return false;
}
</script>
<br/>
<input type="button" value="时间" onclick="showTime()"/>
<br/>
<a href="www.itcast.cn" onclick="return showTime();">显示时间</a>
<br/>
<a href="javascript:showTime();"> 显示时间 </a>
/创建时间对象
//var time = new Date();
////
//alert(time.toString());
//alert(time.toLocaleString());
//alert(time.getHours());
//alert(time.getTime())
数据类型
boolean 布尔
number 数字
string 字符串
Undefined 未定义
Object 对象类型
Null 空对象, 被定义,没有指向对象的值
Undefined和Null:都是只有一个值的数据类型,分别Underfined和Null
实例讲解:
var a1;
alert(a1);
显示Undefined(声明后,没有初始化)(什么都没有)
var a1;
a1=null;
alert(a1);
显示null(指向null值时,当前变量为null)
typeof变量名或typeof(变量名)
var a1;
alert(typeof(a1));
返回a1类型:undefined
var a1;
a1=null;
alert(typeof(a1));
返回a1类型:object
类似转换
var a2=‘100’;
alert(a2+1);拼接
alert(parseint(a2)+1);转换整数,算数运算
双等号==判断是否相等
===既要判断类型,值是否相同
判断变量是否可用
先判断是否为undefined 在判断是否为null,否则可用
返回undefined 如果 temp==null 返回不可用
Undefined 未定义
Null 空对象, 被定义,没有指向对象的值
返回object
判断是否是一个数字类型
var temp2='123';
alert(isNaN(temp2))
返回:fale
var temp = 'abcfg';
alert(isNaN(temp));
var temp = '我是?';
alert(isNaN(temp));
都是返回 true
eval(‘alert(“abc”);’);将一段字符串当作js代码执行
//应用场景:当从文本框中获取值时,得到的是字符串,如果希望那段字符串当作js执行,则使用eval()方法
调试:
已浏览器中调试(必须一款浏览器熟练调试)
元素(element)
sources(源代码)
下一步F10
内部F11
F8往后走,直接显示答案,跳出循环
Console也可以看值
for (var i = 0; i < 10; i++)
{
document.write(i);
}
C#方法重载:在同一个类中,方法名相同,参数,类型可以不同
js不支持方法重载(不存在),后声明的函数,会覆盖先声明的函数
举例 (C#顶一个方法:修饰符,返回值类型,方法名(参数列表){。。。})
function add(a,b,c)//关键字 方法名(参数)
{
alert(a + b + c);//方法体
return a + b + c;//返回值
}
add(1, 2, 3);//调用方法
arguments获取所有参数,是一个参数的数组
arguments.Length 数数组个数
匿名函数
定义一个匿名函数,赋值给一个变量
var f1=function(a,b)
{
alert(a+b);
}
f1(1,2);
典型应用:
根据id获取页面的元素,把他绑定点击事件
getElementById():方法可返回对拥有指定 ID 的第一个对象的引用。
onclick 事件会在对象被点击时发生。
闭包:参数备注代码
闭包:支持在函数内部调用函数之前声明过的边量
作用域链:变量的作用域在当前的函数中,及当前函数内部定义的函数中形成了一个链条
建议:避免闭包,每次再用一个变量时,都要先声明在使用,因为会让变量在内存中长期存在,无法释放
模拟面向对象:
定义:
为类增加对象成员:
步骤:类,属性,方法,构造方法,创建对象,调用方法
原型:所在对象的类型
类的类型就是原型
集合,数组
var temp=[{title:'zhang',
age: 18
}, { title: '你好', age: 23 }, { title: '张三', age: 34 }];
for (var index in temp)
{
document.write(temp[index].title);
}
重点:
语法:弱语言
数据类型:类型转换(判断,typeof)
函数定义(function,不支持重载,匿名函数,)
调试
模拟面向对象
字符串
集合,数组,键值对(可以理解为json)
内置成员:Date,string() (用的比较多)
了解
闭包:避免闭包,主要作用是类的定义
原型:对象的类型