JavaScript 基础

JavaScript是运行在浏览器端的脚步语言, 是由浏览器解释执行的, 简称 js,负责网页的行为。

JavaScript 的引用

  1. 行内式(主要用于事件)
<input type="button" name="" οnclick="alert('ok!');">
  1. 内嵌式
<script type="text/javascript">        
    alert('ok!');
</script>
  1. 外链式
<script type="text/javascript" src="js/index.js"></script>

JavaScript 的变量类型

JS 中有六种数据类型,包括五种基本数据类型和一种复杂数据类型(object)。
5种基本数据类型:
1、number 数字类型
2、string 字符串类型
3、boolean 布尔类型 true 或 false
4、undefined undefined类型,变量声明未初始化,它的值就是undefined
5、null null类型,表示空对象,如果定义的变量将来准备保存对象,可以0将变量初始化为null,在页面上获取不到对象,返回的值就是null。但是 typeof(null) 会归为 object。

变量命名规范
1、区分大小写
2、第一个字符必须是字母、下划线(_)或者美元符号($)
3、其他字符可以是字母、下划线、美元符或数字

匈牙利命名风格
对象o Object 比如:oDiv
数组a Array 比如:aItems
字符串s String 比如:sUserName
整数i Integer 比如:iItemCount
布尔值b Boolean 比如:bIsComplete
浮点数f Float 比如:fPrice
函数fn Function 比如:fnHandler

//1.1 数字 number
var iOne = 10.1;

//1.2 字符串 string
var sStr = '1234';

//1.3 布尔 boolean; 
var bIsTrue = false;

//1.4 未定义 undefined
var unData;

//1.5 null 表示空对象
var nullData = null;

//1.6 object 表示对象类型
var oObj = {
   name:"王四",
   age:88
}
// 获取变量的类型
var type = typeof(oObj);
alert(type);
// 获取对象的name属性
alert(oObj.name);

变量作用域
变量作用域就是变量的使用范围,变量分为:

  • 局部变量 在函数内定义的变量,只能在函数内部使用。
  • 全局变量 在函数外定义的变量,可以在不同函数内使用。

函数定义

<script type="text/javascript">
// 函数定义
function fnAdd(iNum01,iNum02){
    var iRs = iNum01 + iNum02;
    return iRs;
    alert('here!');
}

var iCount = fnAdd(3,4);
//函数调用
alert(iCount);  //弹出7
</script>

return 返回函数中的值,函数执行结束,后面代码不运行。

比较运算符

比较运算符描述
==等于
===值和类型都相同
!=不等于
>大于
<小于
>=大于或等于
<=小于或等于

逻辑运算符

逻辑运算符描述
&&and
||or
!not
var iNum01 = 12;
var sNum01 = '12';

if(iNum01==12){
    alert('相等!');
}
else{
    alert('不相等!')
}

// "==" 符号默认会将符号两边的变量转换成数字再进行对比,这个叫做隐式转换
if(sNum01==12){
    alert('相等!');
}
else{
    alert('不相等!')
}

// "===" 符号不会转换符号两边的数据类型
if(sNum01===12){
    alert('相等!');
}
else{
    alert('不相等!')
}

// 多条件判断
var sFruit = "苹果";
if (sFruit == "苹果") {
    alert("您选择的水果是苹果");
} else if (sFruit == "鸭梨") {
    alert("您选择的水果是鸭梨");
} else {
    alert("对不起,您选择的水果不存在!")
}

获取标签元素

可以使用内置对象 document 上的 getElementById () 方法
简单示例:

<script type="text/javascript">
	// onload是页面所有元素加载完成的事件
    window.onlaod = function(){
    	var oDiv = document.getElementById('div1')
    }
</script>
<div id="div1">这是一个div元素</div>

读取和设置标签属性

<style>
    .sty01{
        font-size:20px;
        color:red;
    }
    .sty02{
        font-size:30px;
        color:pink;
        text-decoration:none;
    }

</style>

<script type="text/javascript">

    window.onload = function(){
        var oInput = document.getElementById('input1');
        var oA = document.getElementById('link1');
        // 读取属性值
        var sValue = oInput.value;
        var sType = oInput.type;
        var sName = oInput.name;
        var sLinks = oA.href;

        // 操作class属性,需要写成“className”
        oA.className = 'sty02';

        // 写(设置)属性
        oA.style.color = 'red';
        oA.style.fontSize = sValue;
    }

</script>

<input type="text" name="setsize" id="input1" value="20px">
<a href="#" id="link01" class="sty01">这是一个链接</a>

读取或者设置标签包裹的内容 (innerHTML)

<script type="text/javascript">
    window.onload = function(){
        var oDiv = document.getElementById('div1');
        //读取
        var sTxt = oDiv.innerHTML;
        alert(sTxt);
        //写入
        oDiv.innerHTML = '<a href="http://www.xxxxx.com">xxxx的主页<a/>';
        
        //  只获取标签内容
        var oContent = oDiv.innerText;
        alert(oContent);
    }
</script>


<div id="div1">这是一个div元素</div>

数组及操作方法

数组: 一组数据的集合

// 实例化对象方式创建
var aList = new Array(1,2,3);

// 字面量方式创建,推荐使用
var aList2 = [1,2,3,'asd'];

多维数组指的是数组的成员也是数组

var aList = [[1,2,3],['a','b','c']];

数组的操作

var aList = [1, 2, 3, 4]

// 获取数组的长度
alert(aList.length) // 4

//根据下标取值
alert(aList[0]); // 1

//从数组最后添加和删除数据
aList.push(5);
alert(aList); // (1, 2, 3, 4, 5)
aList.pop();
alert(aList); //  (1,2,3,4)


根据下标添加和删除元素
arr.splice(start, num, element1, …, elementN)

1.start:必需,开始删除的索引。
2.num:可选,删除数组元素的个数。
3.elementN:可选,在start索引位置要插入的新元素。

var colors = ["red", "green", "blue"];
colors.splice(0,1);  //删除第一项
alert(colors);  //green,blue

colors.splice(1, 0, "yellow", "orange");  //从第一个索引位置插入两项数据
alert(colors);  //green,yellow,organge,blue

colors.splice(1, 1, "red", "purple");  //删除一项,插入两项数据
alert(colors);  //green,red,purple,orange,blue

循环语句

1.for 循环

var array = [1, 4, 5];

for(var index = 0; index < array.length; index++){
    var result = array[index];
    alert(result);
}

2. while 循环

var array = [1, 4, 5];        
var index = 0;

while (index < array.length) {
    var result = array[index];
    alert(result);
    index++;
}

3. do - while 循环

var array = [1, 4, 5];
var index = 0;

do {
    var result = array[index];
    alert(result);
    index++;
} while (index < array.length);

当条件不成立时,do 语句也执行一次。

循环的 break 和 continue

for(var count = 1; count <= 3; count++){
     if(count == 2) {
          // 结束当前循环
          break;
     }
      console.log(count);
 }


for(var count = 1; count <= 3; count++){
	if(count == 2) {
		// 结束本次循环,然后可以继续执行下次循环
		continue;
            }
        console.log(count);
}

定时器

setTimeout(func[, delay, param1, param2, …]) :以指定的时间间隔(以毫秒计)调用一次函数的定时器

setTimeout 函数的参数说明:

第一个参数 func , 表示定时器要执行的函数名
第二个参数 delay, 表示时间间隔,默认是0,单位是毫秒
第三个参数 param1, 表示定时器执行函数的第一个参数,一次类推传入多个执行函数对应的参数。

<script>
    function hello(){
        alert('hello');
        // 清除只执行一次的定时器
        clearTimeout(t1)
    }
    // 执行一次函数的定时器
    t1 = setTimeout(hello, 500);
</script>

setInterval(func[, delay, param1, param2, …]) :以指定的时间间隔(以毫秒计)重复调用一个函数的定时器

setInterval 函数的参数说明:

第一个参数 func , 表示定时器要执行的函数名
第二个参数 delay, 表示时间间隔,默认是0,单位是毫秒
第三个参数 param1, 表示定时器执行函数的第一个参数,一次类推传入多个执行函数对应的参数。

//  重复执行的定时器
var count = 1;
var oTid2 = setInterval(function(){
     alert('我是重复执行的定时器');
     if(count == 3){
        // 清除定时器
        clearInterval(oTid2)
         }
        count += 1
 }, 1000);

 alert(oTid2);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值