Day3JavaScript(一)JavaScript初识以及bom操作详解编程语言

JavaScript简介

什么是JavaScript

弱类型,动态类型,基于原型的直译性的编程语言。1995年netscape(网景)在导航者浏览器中设计完成。

JavaScript的特点

1.与HTML之间进行交互

2.不需要编译(浏览器中有解释器)

3.跨平台

4.安全性:不能直接访问本地文件

5.大小写敏感

JavaScript的作用

1.JavaScript可以动态的增删改查HTML的元素

2.JavaScript可以动态的修改样式(css)

3.JavaScript可以对事件进行响应

4.JavaScript可以实现对表单的动态校验

5.JavaScript可以对cookie和session进行处理

6.JavaScript可以实现后台操作(node.js)

JavaScript的组成

1.ECMAscript

2.bom

3.dom

JavaScript的引入方式

 1.内联

<head> 
   <meta charset="utf-8" /> 
   <title></title> 
   <script> 
             
   </script> 
</head>

 

2.引入外部文件

<head> 
    <meta charset="utf-8" /> 
    <title></title> 
    <script type="text/javascript" src="js/myjs.js" ></script> 
</head>

 

注意:脚本存在执行的先后顺序

数据类型和变量

变量

变量名称规范:变量名是大小写英文、数字、$和_的组合,且不能用数字开头。变量名也不能是JavaScript的关键字,如if、while等。见名知义,申明一个变量用var语句。

数据类型

number

JavaScript不区分整数和浮点数,统一用Number表示,以下都是合法的Number类型:

123; // 整数123 
0.456; // 浮点数0.456 
1.2345e3; // 科学计数法表示1.2345x1000,等同于1234.5 
-99; // 负数 
NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示 
Infinity; // Infinity表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示为Infinity

字符串string

字符串是以单引号’或双引号”括起来的任意文本,比如’abc’,”xyz”等等。请注意,”或””本身只是一种表示方式,不是字符串的一部分,因此,字符串’abc’只有a,b,c这3个字符。

布尔值boolean

布尔值和布尔代数的表示完全一致,一个布尔值只有true、false两种值,要么是true,要么是false,可以直接用true、false表示布尔值,也可以通过布尔运算计算出来:

true; // 这是一个true值 
false; // 这是一个false值 
2 > 1; // 这是一个true值 
2 >= 3; // 这是一个false值

underfined

<script> 
    var d; 
    alert(typeof d); 
</script>

 

Day3JavaScript(一)JavaScript初识以及bom操作详解编程语言

null

<script> 
    var d; 
    d = null; 
    alert(typeof d); 
</script>

array(数组)

<script> 
    var d; 
    d = null; 
    d = ["aa","bb","cc"]; 
    alert(typeof d); 
</script>

object

<script> 
    var d; 
    d = null; 
    d = ["aa","bb","cc"]; 
    d = {"name":"zs"}; 
    alert(typeof d); 
</script>

 JavaScript类型转换

number+string

<script> 
    var a = 1; 
    var b = "2"; 
    var d = a+b; 
    alert(d); 
</script>

 

Day3JavaScript(一)JavaScript初识以及bom操作详解编程语言

boolean+number

<script> 
    var a = 1; 
    var b = true; 
    var d = a+b; 
    alert(d); 
</script>

 

Day3JavaScript(一)JavaScript初识以及bom操作详解编程语言

boolean+string

<script> 
    var a = "1"; 
    var b = true; 
    var d = a+b; 
    alert(d); 
</script>

 

Day3JavaScript(一)JavaScript初识以及bom操作详解编程语言

 

string+undefined

<script> 
    var a = "1"; 
    var b = true; 
    var c; 
    var d = a+c; 
    alert(d); 
</script>

Day3JavaScript(一)JavaScript初识以及bom操作详解编程语言

number+undefined

<script> 
    var a = 1; 
    var b = true; 
    var c; 
    var d = a+c; 
    alert(d); 
</script>

 

Day3JavaScript(一)JavaScript初识以及bom操作详解编程语言

运算符

算数运算符

Day3JavaScript(一)JavaScript初识以及bom操作详解编程语言

赋值运算符

Day3JavaScript(一)JavaScript初识以及bom操作详解编程语言

比较运算符

Day3JavaScript(一)JavaScript初识以及bom操作详解编程语言

var a = 5; 
var b = "5"; 
alert(a == b);  // 
alert(a === b); //值和类型

逻辑运算符

Day3JavaScript(一)JavaScript初识以及bom操作详解编程语言

三目运算符

流程控制

分支语句

if…else…

与java一样

switch

与java一样

循环语句

while循环

与java一样

do…while循环

与java一样

for循环

与java一样

for … in

for循环的一个变体是for … in循环,它可以把一个对象的所有属性依次循环出来:

<script> 
    var arr = ["aa","bb","cc","dd",11,22,33]; 
    for(var i in arr){ 
        console.log(arr[i]);//i是下标 
    } 
</script>

 

Day3JavaScript(一)JavaScript初识以及bom操作详解编程语言

break和continue

小案例

<script> 
    var w = 1000; 
    for(var i=0;i<15;i++){ 
        if(i<8){ 
        var width = w-i*100; 
        document.write("<hr width="+width+"px>"); 
        }else if(i>8){             
        var width = 300+(i-7)*100; 
        document.write("<hr width="+width+"px>"); 
        }             
    } 
             
</script>

 

结果:

Day3JavaScript(一)JavaScript初识以及bom操作详解编程语言

函数

无参函数的声明和调用

function calc(){ 
    console.log("aa");   
} 
calc();

有参函数的声明和调用

function sum(a,b) { 
    console.log(a+b); 
}

返回值

function calc4(a,b){ 
    return a + b; 
} 
var a = calc4(1,2);

 

匿名函数(闭包)

(function (x) { 
    return x * x; 
})(3);

内置函数

isNaN():判断值是否为非数字

var a= "aa"; 
console.log(isNaN(a));//true 
var b = "1"; 
console.log(isNaN(b));//false

parseInt():将字符串转换为整数

var a = "1"; 
var b = "2"; 
console.log(parseInt(a)+parseInt(b));//3

parseFlocat():将字符串转换为小数

var a = "1.4"; 
var b = "2.5"; 
console.log(parseFloat(a)+parseFloat(b));//3.9

eval():对字符串进行计算,类型转换

var c = "3+2*4"; 
console.log(eval(c));//11

对象

js面向对象语言。属性和方法

内置对象

字符串对象

 

对象创建: 
 var s = "aaa"; 
s = new String("aaa"); 
属性: 
length:长度 
方法: 
console.log(s.charAt(1));    //根据索引获取字符 
console.log(s.indexOf("d")); //根据字符获取索引位置,不出现为-1 
console.log(s.substr(1,2));  //bc 
console.log(s.substring(1,2));  //b

 

 

 数组对象

 

 

数组定义: 
var arr = ["aa","bb","cc"]; 
    //console.log(arr); 
    arr = new Array(); 
    arr[0] = "aa"; 
    arr[1] = "bb"; 
     
    arr = new Array("bb","cc"); 
    console.log(arr); 
     
    arr = new Array(); 
    arr["北京市"]=["昌平区","西城区"]; 
    arr["上海市"]=["浦东区","徐汇区"]; 
    for(var i in arr){ 
    console.log(i); 
} 
属性: 
length 
方法: 
concat():连接 
reverse():倒叙 
sort():排序 
push():追加 
pop():删除

 

日期对象

对象创建: 
Date() 
属性 
方法 
var myDate = new Date(); 
var year = myDate.getFullYear();   //year 
var month = myDate.getMonth()+1;   //month 
var day = myDate.getDay();         //0-6  周中的天 
var day2 = myDate.getDate();       //月中的天 
var hour = myDate.getHours(); 
var min = myDate.getMinutes(); 
var sec = myDate.getSeconds();

 

自定义对象

function test(){ 
    var stu = new Object(); 
    stu.name = "zs"; 
    stu.age = 12; 
     
    console.log(stu.name); 
} 
 
//学生对象   name   age 
function Student(name,age){ 
    this.name = name; 
    this.age = age; 
    this.show = function(){ 
        console.log("name="+this.name+",age="+this.age); 
    } 
} 
             
var stu = new Student("zs",12); 
console.log(stu.name); 
stu.show(); 
 
//扩展属性或者方法 
Student.prototype.sex = "男";

 

bom(浏览器对象模型)

 1)控制浏览器行为。

 2)所有全局变量和函数都属于window。window可省略。

 3)window

属性: 
document:文档 
history:浏览的url 
location:包含url的信息 
innerWidth:宽度 
innerHeight:高度 
navagitor:浏览器信息 
 
方法: 
var myWindow = open("http://www.baidu.com","baidu", 
                "width=200px,height=200px,left=200px,top=100px"); 
//关闭 
myWindow.close(); 
var conf = confirm("确认删除?"); 
var str = prompt("请输入密码?","123456"); 
 
var t = setTimeout(function(){ 
    console.log("boom"); 
},1000); 
             
clearTimeout(t); 
             
var inter = setInterval(function(){ 
    console.log(new Date()); 
},1000); 
clearInterval(inter);

 

4)history对象

浏览器历史 
属性: 
length 
方法: 
<input type="button" value="上一个" onclick="history.back();"/> 
<input type="button" value="下一个" onclick="history.forward();"/> 
<input type="button" value="跳转" onclick="history.go(1)"/>

 

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/11162.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论