javaScript基础

简介

  • 是基于对象和事件驱动的语言,应用与客户端。
    • 基于对象: 提供好了很多对象,可以直接拿过来使用
    • 事件驱动: html做网站静态效果,javascript动态效果
    • 客户端:专门指的是浏览器
  • js的特点
    • 交互性:信息的动态交互
    • 安全性: js不能访问本地磁盘的文件
    • 跨平台性:java里面跨平台性,虚拟机只有能够支持js的浏览器,都可以运行
    • JavaScript 是基于对象的弱类型的语言,java是面向对象的强类型的语言

js的组成

  • ECMAScript
    ECMA : 欧洲计算机协会
    有ECMA组织制定的js的语法,语句…..
  • BOM
    broswer object model: 浏览器对象模型
  • DOM
    document object model:文档对象模型

js和html的结合方式(两种)

  • 使用一个标签 <script type="text/javascript"> js代码; </script>
    建议把script标签放到 </body>后面
  • 使用script标签,引入一个外部的js文件
<script type="text/javascript" src="a.js"></script>

js的原始类型与声明

  • 定义变量 都使用关键字 var
  • js的原始类型(五个)
    • string: 字符串
      var str = “abc”;
    • number:数字类型
      var m = 123;
    • boolean:true和false
      var flag = true;
    • null
      var date = new Date();
      获取对象的引用,null表示对象引用为空 ,所有对象的引用也是object
    • undifined
      定义一个变量,没有赋值
      var aa;
      typeof(); 查看当前变量的数据类型

js的语句

  • if判断语句
    =:表示赋值 ==:表示判断

  • switch语句
    switch(a) {
    case 5: break;
    case 6: break;
    default:
    ……
    }

  • 循环语句 for while do-while(和java语法一样)
  • i++ ++i和java里面一样

运算符

  • js里面不区分整数和小数
    var j = 123; alert(j/1000*1000);
    j/1000*1000 在java里面得到结果是 0
    在js里面不区分整数和小数,123/1000=0.123 * 1000 = 123

  • 字符串的相加和相减的操作
    如果相加时候,做是字符串连接
    如果相减,做的是相减的运算
    例如: var str = “456”;
    alert(str+1); 在java里面操作的结果是 4561 ,在js里面还是 4561
    alert(str-1); 相减时候,执行减法的运算

  • 提示NaN:表示不是一个数字
  • boolean类型也可以操作
    如果设置成true,相当于这个值是1
    如果设置成false,相当于这个值是0
  • == 和 === 区别
    == 比较的只是值
    === 比较的是值和类型

js数组

  • 定义方式(三种)
    • : var arr = [1,2,3]; var arr = [1,”4”,true];
    • :使用内置对象 Array对象
      var arr1 = new Array(5); //定义一个数组,数组的长度是5
    • :使用内置对象 Array
      var arr2 = new Array(3,4,5); //定义一个数组,数组里面的元素是3 4 5
  • 数组里面有一个属性 length:获取到数组的长度
  • 数组可以存放不同的数据类型的数据

js函数(共三种,这里仅介绍最常用的一种)

  • 函数的参数列表里面,不需要写var,直接写参数名称
    使用到一个关键字 function
function 方法名(参数列表) {
        方法体;
 返回值可有可无(根据实际需要);
}
//定义一个有参数的方法  实现两个数的相加
    function add1(a,b) {
       var sum = a+b;
        alert(sum);     
            }
     add1(2,3)
//有返回值的效果
    function add2(a,b,c) {
        var sum1 = a+b+c;
        return sum1;
            }
        alert(add2(3,4,5)); 

定义完函数,一定要记得调用

js全局变量和局部变量

  • 全局变量:在script标签里面定义一个变量,这个变量在页面中js部分都可以使用
    • 在方法外部使用,在方法内部使用,在另外一个script标签使用
  • 局部变量:在方法内部定义一个变量,只能在方法内部使用

js的string对象

  • 创建String对象 :var str = “abc”;
  • 方法
    (1)与html相关的方法
    bold():加粗
    fontcolor(): 设置字符串的颜色
    fontsize(): 设置字体的大小
    link(): 将字符串显示成超链接: str.link(“hello.html”)
    sub() sup(): 下标和上标
    (2)与java相似的方法
    concat(): 连接字符串 :str1.concat(str2)
    charAt():返回指定位置的字符串:str3.charAt(20);
    //字符位置不存在,返回空字符串
    indexOf(): 返回字符串位置str4.indexOf(“w”);
    //字符不存在,返回-1
    split():切分字符串,成数组
var str5 = "a-b-c-d";
var arr1 = str5.split("-");
document.write("length: "+arr1.length);

replace() : 替换字符串
document.write(str6.replace(old ,new));
substr()和substring()
str7.substr(5,5); 从第五位开始,向后截取五个字符
str7.substring(3,5); de 从第几位开始到第几位结束 [3,5)
从第几位开始,到第几位结束,但是不包含最后哪一位

Array对象

  • 方法
    concat()方法: 数组的连接:arr1.concat(arr12);
    join():根据指定的字符分割数组:arr1.join(“-“);
    push():向数组末尾添加元素,返回数组的新的长度;
    //如果添加的是一个数组,这个时候把数组当做一个整体字符串添加进去:arr1.push(“zhangsan”);
    pop():表示 删除最后一个元素,返回删除的那个元素:arr1.pop();
    reverse():颠倒数组中的元素的顺序:arr1.reverse());

js的Date对象

  • 获取当前时间
    var date = new Date(); // Fri Apr 17 10:47:46 UTC+0800 2015
    date.toLocaleString();//转换成习惯的格式
  • 获取当前的年方法
    *getFullYear():得到当前的年:date.getFullYear();
  • 获取当前的月方法
    getMonth():获取当前的月
    //返回的是 0-11月,如果想要得到准确的值,加1
    var da = date.getMonth()+1;
  • 获取当前的星期
    getDay():星期,返回的是 (0 ~ 6)
    外国朋友,把星期日作为一周的第一天,星期日返回的是 0
    date.getDay()
  • 获取当前的日
    getDate():得到当前的天 1-31 ://date.getDate()
  • 获取当前的小时
    getHours():获取小时: //date.getHours();
  • 获取当前的分钟
    getMinutes():分钟: //date.getMinutes();
  • 获取当前的秒
    getSeconds(): 秒: //date.getSeconds();
  • 获取毫秒数(s使用毫秒数处理缓存的效果:http://www.baidu.com?毫秒数)
    getTime() : 返回的是1970年1月 1日 至今的毫秒数

js的Math对象

里面的方法都是静态方法,使用可以直接使用 Math.方法()

  • ceil(x): 向上舍人
  • floor(x):向下舍人

  • round(x):四舍五入

  • random():得到随机数(0-1)

js的全局变量

  • 由于不属于任何一个对象,直接写名称使用

    • eval() : 执行js代码(如果字符串是一个js代码,使用方法直接执行)
    • encodeURI() :对字符进行编码

    • decodeURI() :对字符进行解码(知道就行 encodeURIComponent() 和 decodeURIComponent()

    • isNaN():判断当前字符串是否是数字
      * 如果是数字,返回false
      * 如果不是数字,返回true

    • parseInt():类型转换

js的函数的重载


  • 什么是重载?方法名相同,参数不同
  • js里面是否存在重载?
    (1)js里面不存在重载。
    (2)但是可以通过其他方式模拟重载的效果 (通过aruguments数组来实现)
    实例如下:

function add1() {
if(arguments.length == 2) {
return arguments[0]+arguments[1];
} else if (arguments.length == 3) {
return arguments[0]+arguments[1]+arguments[2];
} else if (arguments.length == 4) {
return arguments[0]+arguments[1]+arguments[2]+arguments[3];
} else {
return 0;
}
}

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值