初识javascript

概述

JavaScript是世界上最流行的脚本语言,是一种运行在浏览器中的解释型的编程语言,能够实现跨平台、跨浏览器。虽然只是十多天时间的产物,并且有很多的缺陷和陷阱,但也造就了JavaScript的灵活和强大。随着Node.js的兴起,JavaScript已经从单纯实现前端互动,发展到可以全栈实现整个应用。尤其是在移动互联网蓬勃发展以及应用追求极致用户体验的今天,JavaScript更是必须要重视和掌握的。

变量

使用var关键字进行变量的声明,声明的同时也可以进行赋值。变量的声明只能有一次,但赋值可以有多次。如果只声明变量,但是变量没有被赋值,此时变量的值为undefined。

JavaScript变量的类型取决于右侧的对象。

var variable_name1 = 5;
var variable_name2 = 5.3;
var variable_name3 = false;
var variable_name4 = 'zhangsan';

变量的作用域

java:

if(true) {
    int a = 1;
}
System.out.println(a); // 编译错误,超出作用域

javascript:

if(true){
    var a = 1;
}
console.log(a); // 1 JavaScript没有块级作用域

JS中的六大数据类型

js中有六种数据类型,包括五种基本数据类型(Number,String,Boolean,Undefined,Null),和3种引用数据类型(Object,Function,Array)。

基本数据类型

1.Number类型

Number类型包含整数和浮点数(浮点数数值必须包含一个小数点,且小数点后面至少有一位数字)两种值。

2.String类型

单引号或双引号扩起来的字符集合

3.Boolean类型

该类型只有两个值,true和false

4.Undefined类型

只有一个值,即undefined值。使用var声明了变量,但未给变量初始化值,那么这个变量的值就是undefined。

5.Null类型

Null类型被看做空对象指针,Null类型也是空的对象引用。

三大引用类型

1.Object类型

我们看到的大多数类型值都是Object类型的实例,创建Object实例的方式有两种。

第一种是使用new操作符后跟Object构造函数,如下所示

var person = new Object();

person.name = "Micheal";

person.age = 24;

第二种方式是使用对象字面量表示法,如下所示

var person = {

name : "Micheal",

age : 24

};

alert(person.name);

2.Array类型

数组的每一项可以用来保存任何类型的数据,也就是说,可以用数组的第一个位置来保存字符串,第二个位置保存数值,第三个位置保存对象....另外,数组的大小是可以动态调整的。

创建数组的基本方式有两种

第一种是使用Array构造函数,如下所示

var colors = new Array("red","blue","yellow");

第二种是使用数组字面量表示法,如下所示

var colors = ["red","blue","yellow"];

3 Function类型

每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法。函数通常是使用函数声明语法定义的,如下所示

function sum(num1,num2){

return num1 + num2;

};

这和使用函数表达式定义函数的方式相差无几。

var sum = function (num1,num2){

return num1 + num2;

};

var result = sum(5,8);
alert(result);

typeof 操作符

由于js中的变量是弱类型的,所以它提供了一种检测当前变量的数据类型的方法,也就是typeof关键字.

typeof 123   //Number

typeof 'abc'  //String

typeof true //Boolean

typeof undefined //Undefined

typeof null //Object

typeof { } //Object

typeof [ ] //Object

js的三种输出方式

/*  
             * 控制浏览器弹出一个提示框  
             */  
            alert("Hello JavaScript");  
              
            /*  
             * 控制浏览器在页面中输出一个内容  
             * document.write()向body中写一个内容  
             */  
            document.write("看我出来不???");  
              
            /*  
                向控制台输出一个内容  
             * */  
            console.log("你看我在哪出来~~~");

js编写的位置

  
  
      
          
          
          
          
          
          
          
          
          
      
      
          
          
          
          
          
          
          
          
        你也点我一下  
        

你也点我一下

练习

求100以内的偶数和

js字符串




    
    
    





字符串练习

编写一个程序,将某个字符串反转

数组

数组简介



    
        
        
        
    
    
    


数组字面量表达方式(推荐)



    
        
        
        
    
    
    


数组的常用方法

push(),pop(),unshift(),shift()



    
        
        
        
    
    
    


遍历数组方式一



    
        
        
        
    
    
    


遍历数组方式二:



    
        
        
        
    
    
    


补充两个常用方法

filter方法 (过滤元素)
求字符串长度是3 的所有元素

var arr = ["孙悟空","猪八戒","沙和尚","唐僧", "孙悟空","猪八戒","沙和尚","唐僧"];
         var newarr = arr.filter(function (v, index, obj) {
             return v.length == 3;
         })
        document.write(newarr)

输出结果:孙悟空,猪八戒,沙和尚,孙悟空,猪八戒,沙和尚

满足条件的返回true,存在新数组中
map方法

     var arr = ["孙悟空","猪八戒","沙和尚","唐僧", "孙悟空","猪八戒","沙和尚","唐僧"];

        var newarr = arr.map(function (v, index, obj) {
            return 'hello' + v
        })
document.write(newarr)

输出结果:hello孙悟空,hello猪八戒,hello沙和尚,hello唐僧,hello孙悟空,hello猪八戒,hello沙和尚,hello唐僧

通过映射将原有数组变换成一个新数组,长度相同,元素不同

数组去重的巧妙方法

        var arr = ["孙悟空","猪八戒","沙和尚","唐僧", "孙悟空","猪八戒","沙和尚","唐僧"];
var newarr = arr.filter(function (v, index, obj) {
    return arr.indexOf(v,index+1) == -1;
})
document.write(newarr)

查一个元素,如果他后面还有跟他一样的元素,就不加到新数组中,如果没有跟他一样的元素,就把他加到新数组中

数组方法:slice(),splice():



    
        
        
        
    
    
    


练习 去除调用数组中重复的数字(相对麻烦的方法,简单方法看上面)



    
        
        
        
    
    
    


数组的其他方法



    
        
        
        
    
    
    


返回值是正数,代表第一个数比第二个数大,返回值是负数,代表第一个数比第二个数小,返回0,代表相等,类似JAVA的实现Comparable接口

补充一点

如何打乱一组数

 var arr = [5,8,9,45,25,47,36,64,52]
        arr.sort(function (a,b) {
            return Math.random() - 0.5;
        })
        document.write(arr);

输出一个0到1之间的随机数,减去0.5 , 这样返回值有可能是正数,有可能是负数,系统就会随机排序

你可能感兴趣的:(初识javascript)