JavaScript 学习笔记

本文深入探讨了JavaScript的基础知识,包括超链接与javascript交互、字符串声明、类型与变量、函数声明与匿名函数、面向对象基础、数组操作、求最大数、反转数组、字典使用、简化声明、对象遍历等关键概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、 直接在超链接中调用javascript(只有在href中才需要写javascript:说明交给javascript引擎处理)
<a href="javascript:alert('hello')">hello</a>
<a href="" onclick="alert('hello2')">点击我2</a>

2、在javascript中即可以使用单引号也可以使用双引号声明字符串
只有是方便和html集成,避免转义字符麻烦
3、javascript 是若类型 如果不声明var i 直接写i=10;声明的是一个全局变量(千万别这么用,避免冲突)
var i=10; //声明一个变量,名字为i 指向10这个整数,i就是int类型
i='abc' ; //现在是字符串了

4、调试Javascript
IE--高级--禁用脚本提示点上√
VS--工具--选项--打开行号
DebugBar JS调试工具
ASP.NET 调试JS 和C#一样的可能得把对勾去掉

5、判断变量是否初始化的三种方式
var x;
if (x==null){
alert('null');
}
if (typeof(x)=="undefined"){
alert('undefined');
}
if (!x){
alert('不X');
}
6、函数的声明(这里的大括号推荐这么写,因为以后可能引起歧义)
function add(i1,i2){ //只是声明,不会立即执行
return i1+i2;
}
注意:
function compare(i1,i2){
if (i1>i2)
return i1;
}
这样的写法不会报错假设 compare(6,4)返回6 否则返回undefine

7、匿名函数--避免冲突
var f1=function (i1,i2){
return i1+i2;
}
alert(f1(5,9));
alert(function (i1,i2){return i1*i2;}(10,9));


8、JS面向对象基础( *** js分大小写的)
注意:Javascript没有类的语法,是用函数闭包(closure)模拟出来的,
Javascript声明类(类不是类,是对象)
function Person(name,age){ //声明一个函数,当成类用
this.Name=name;//动态增加的一个变量
this.Age=age;
this.SayHello=function(){alert(this.Name);}
}
var p1=new Person("tom",20);//必须new,否则变成调用函数了
p1.SayHello();
p1.Gender='男';
alert(p1.Gender);
9、Array对象
JavaScript中的Array是个动态的数组(类似C#arraylist)

var names=new Array();//这里必须是大写
names[0]='liyang';
names[1]='zhangsan';
names[2]='lisi';
for(var i=0;i<names.length;i++){
alert(names[i]);
}

10、求数组最大数
var arr1=new Array();
arr1[0]=30;
arr1[1]=11;
arr1[2]=3;
arr1[3]=55;

alert(arr1[3]);
function getMax(arr){
var max=arr[0];
for(var i=0;i<arr.length;i++){
alert(arr[i]);
if (arr[i]>max){
max=arr[i];
}

}
return max;
}

alert(getMax(arr1));


10、反转 联合
function myReverse(arr1) {

for (var i = 0; i < arr1.length/2; i++) {
var tmp = arr[i];
arr1[i] = arr1[arr1.length - i-1];
arr1[arr1.length - i-1] = tmp;
}
return arr1;
}

function myjoin(arrs) {
if (arrs.length <= 0) {
return "";
}
var s = arrs[0];
for (var i = 1; i < arrs.length; i++) {
s = s + "|" + arrs[i];
}
return s;
}

11、JS当字典使用

<%--字典 --%>
<script type="text/javascript">
var dict = Array();
dict["人"] = "ren";
dict["猫"] = "mao";
alert(dict["人"]);
alert(dict.猫);

for (var k in dict) { //js中的foreach语法
//遍历出来是key 不是值

alert(k);

}

var arr = new Array();
arr[0] = "1";
arr[1] = "2";
for (var k in arr) {
alert(arr[k]);
}


</script>

12、Array的简化声明

<%--Array的简化声明 --%>
<script type="text/javascript">
var arr = [1, 3, 4, 5, 6, 8];
arr = { "tom": 30, "liyang": 25 }
for (var k in arr) {
alert(k +"---" +arr[k]);

}

</script>


13、获得对象所有成员 因为对象的成员就是以对象的Key的形式出现的
<%--知道一个对象的所有方法 --%>
<script type="text/javascript">
for (var k in document) {
alert(k);
}


var p1 = new Object();
p1.Name = "tom";
p1.Age = "30";
p1.SayHello=function() {alert("hello")};

p1.SayHello();

for (var k in p1)
{
alert(k);
}

</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值