Javascript语言基础

本文深入讲解JavaScript的基础知识,包括数据类型、程序结构、类库应用,以及如何在HTML和CSS中控制网页元素。探讨了JavaScript作为解释型语言的特性,如无需编译即可运行,并介绍了函数定义、变量声明、面向对象编程、常用对象如String和Array的操作方法。

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

 学习一门新语言,重点掌握数据类型、程序结构、类库。HTML:提供内容。CSS:美化CSS,告诉HTML怎么去显示。JavaScript:控制HTML、CSS。

 JavaScript是一种在浏览器端执行的语言。JavaScript是解释型语言,无需编译就可以随时运行,这样哪怕语法有错误,没有语法错误的部分还是能正确运行。

 JavaScript代码放到<script>标签中,script可以放到<head>、<body>等任意位置,而且可以有不止一个<script>标签。alert函数是弹出消息窗口,new Date()是创建一个Date类的对象,默认值就是当前时间。JS是大小写敏感的。
 放到<head>中的<script>在body加载之前就已经运行了。写在body中的<script>是随着页面的加载而一个个执行的。
 除了可以在页面中声明JavaScript以外,还可以将JavaScript写到单独的js文件中,然后在页面中引入:<script src="test.js" type="text/javascript"></script>。声明到单独的js文件的好处是多页面也可以共享、减小网络流量。js文件的CDN(*)
 注意:不要写成<script src="test.js" type="text/javascript"/>否则会有问题,这是一个比较特殊的地方。

 在超链接的点击里执行JavaScript:<a href="javascript:alert(‘88’)">发发</a>。

 JavaScript中即可以使用双引号声明字符串,也可以使用单引号声明字符串。JavaScript是弱类型,声明变量的时候无法:int i=0;只能通过var i=0;声明变量,和C#中的var不一样,不是C#中那样的类型推断。JavaScript中也可以不用var声明变量,直接用,这样的变量是“全局变量”,因此除非确实想用全局变量,否则使用的时候最好加上var。JS是动态类型的,因此var i=0;i="abc";是合法的。

 JavaScript中判断变量、参数是否初始化的三种方法:
 var x;
 if (x == null) {
  alert("null");
 }
 if (typeof (x) == "undefined") {
  alert('undefined');
 }
 if (!x) {alert('不x');}
 if(x){}//变量被初始化了或者变量不为空或者变量不为0.
 

 JavaScript中声明函数的方式:
 function add(i1, i2) {
  return i1 + i2;
 }
 int add(int i1,int i2)//C#写法
 不需要声明返回值类型、参数类型。函数定义以function开头。
 var r = add(1, 2);
 alert(r);
 r = add("你好", "tom");
 alert(r);
 JavaScript中不像C#中那样要求所有路径都有返回值,没有返回值就是undefined。
 易错:自定义函数名不要和js内置、dom内置方法重名,比如selectall、focus等函数名不要用。

 匿名函数:
 var f1 = function(i1,i2){
  return i1 + i2;
 }
 alert(f1(i1,i2));

 js面向对象: 

 function Person(name,age) {
  this.name = name;
  this.age =age;
  this.sayHello=function(){
   alert("你好,我是"+this.name+",我"+this.age+"岁了");
  }
 }
 var p1 = new Person("tom",20);
 p1.sayHello();
 必须要声明类名,function Person(name,age)可以看做是声明构造函数,Name、Age这些属性也是使用者动态添加了。var p1 = Person("tom", 30);//不要丢了new,否则就变成调用函数了,p1为undefined。new 相当于创建了函数的一个实例

 String对象:length属性;charAt方法;取第几个字符。indexOf字符第一次出现的索引   lastIndexOf字符最后出现的索引  Substr(start,length)、substring(start,end):start从0数,end从1数    split  match、replace第一个参数是字符串时只替换第一个,用var reg=//g;替换全部、search方法,正则表达式相关。g:全局匹配  i:忽略大小写  gi:以上组合 

 JavaScript中的Array对象就是数组,首先是一个动态数组,而且是一个像C#中数组、ArrayList、Hashtable等的超强综合体。数组是Dictionary的特例用法
  var names = new Array();
  names[0] = "tom";
  names[1] = "jerry";
  names[2] = "lily";
  for (var i = 0; i < names.length; i++) {
   alert(names[i]);
  }

 Array还可以有简化的创建方式
 var arr = [3, 5, 6, 8, 9]; 普通数组初始化
 字典风格的简化创建方式:
 var arr = {"tom":30,"jim":20};

 js中遍历数组和字典得到的是key值。冒泡排序:N个数排序,外层循环N-1;内层循环N-i-1

  function mySort(arr) {
            for (var i = 0; i < arr.length - 1; i++) {
                for (var j = 0; j < arr.length - i-1; j++) { 
                    if(arr[j]>arr[j+1]){
                        var temp = arr[j];
                        arr[j] = arr[j+1];
                        arr[j+1] = temp;
                    }
                }
            }
        }

 对于数组风格的Array来说,可以使用join方法拼接为字符串。var arr = ["tom","jim","lily"];alert(arr.join(","));//JS中join是array的方法,不像.Net中是string的方法。for循环可以像C#中的foreach一样用。for循环还可以获得一个对象所有的成员,类似于.Net中的反射
 for (var e in document) {
  alert(e);
 }
 有了它没有文档也可以进行开发。 

 *扩展方法
 String.prototype.quote = function(str) {}

转载于:https://www.cnblogs.com/huangshuhua/p/6283732.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值