JavaScript_day01

1.组成:       

        BOM-浏览器对象模型:        通过BOM可以操作浏览器窗口,如:弹框,浏览器的跳转等

        DOM-文档对象模型:        把HTML看做是文档树,通过DOM提供的API可以对树上的节点进行操作

2.变量:        声明:        var 变量名;

3.数据类型:

        Number:数值的固定值表示法

                注:

// 结果不是0.3,即算术计算时其精确度远远不如整数,所以尽量不要判断两个浮点数是否相等
var result = 0.1 + 0.2;

/*
    数值判断:
        NaN(not a number):与任何值都不相等(包括自身)

        isNaN(is not a number)
*/

        String:字符串类型(可用单引号,也可用双引号)

        Boolean:布尔类型

        undefined:表名一个声明了但是没有赋值的变量,即变量只进行声明,其默认值是undefined

        Null:表示空,如果一个声明的变量想让其值为null,则需手动设置

        Object:

        注:

                a.typeof:        获取变量的类型

var age=10;
console.log(typeof age);//   number

                b.toString():        转成字符串类型

var num=10;
console.log(num.toString());

/*
    转成字符串类型其他方法:
        
        拼接:    如 num+"";

        如果是undefined和null,可以使用String()方法代替
*/

                c.Number():        转成数值类型

/*
    Number()可以把任何类型的值转为数值类型    注:如果被转换的字符串中有一个不是数值的字符,返回NaN

    其他转数值方法:
        
        parseInt()    注:如果第一个字符是数字会解析知道遇到非数字结束;如果第一个不是数字,返回NaN

*/

                d.Boolean():        转成布尔类型

                        :        0        ' '(空字符串)        null        undefined        NaN会转成false,其余都是true;        (隐式转换)

var flag=!!'123';//隐式转换成布尔类型

4.运算符:

        关系运算符:       

                == 和 === 的区别:前者只比较值;        而后者既比较值也比较类型,都相等时,才相等

 5.流程控制:(与Java类似)

        顺序结构、分支结构、循环结构

6.数组:

        定义:

var attr1=[];//空数组

//数组中的元素可以放置任何类型,但是必须类型相同
var attr2=[1,2,3]

/*
    通过Array创建
*/

var attr = new Array();

        获取元素:

//通过下标获取元素

attr2[0];    // 1
attr2[1];    // 2

        遍历数组:

        新增元素:

// 数组名[下标]=值;
var attr3=[1,2,3];

attr3[0]=5;//将第一个元素1换成5

attr3[3]=10;//新增一个元素10

        常见方法:

var attr = [1,2,3,5,9,0];
//排序
attr.sort();

attr.reverse();//    翻转数组

//操作方法
concat(参数1,...);    //把参数拼接到当前数组

//从当前数组中strat开始,end结束,截取一个新的数组,不影响原来的数组
slice(start,end);//区间索引的值

//位置方法
indexOf();//找位置 返回索引值 没有找到返回 -1

        清空数组:

//方法一:推荐使用
attr = [];

//方法二:
attr.length = 0;

//方法三:
attr.splice(0,arr.length());

7.函数:

        函数声明:        函数声明的时候,函数体并不会执行,只要当函数被调用的时候才会执行

function 函数名([形参1, 形参2, 形参3...]){//形参可有可无
    //函数体
}

//函数表达式
var fn=function(){
    //函数体
}

//调用函数
函数名([形参1, 形参2, 形参3...]);//函数的调用结果就是返回值

8.对象:        特征在对象中用属性来表示;        行为在对象中用方法来表示

        创建对象的方式:

                对象字面量:

var user = {
  name: 'admin',
  age: 18,
  sex: true,
  sayHi: function () {
    console.log(this.name);
  }
}; 

                new Object():

var person = new Object();
person.name = 'admin';
person.age = 18;
person.play = function(){
    console.log("person play");
}

                工厂函数创建:(推荐)

function person(name,age,job){
    var person = new Object();
    person.name = name;
    person.age = age;
    person.job = job;
    person.play = function(){
        console.log("person play");
    }
    return person;
}

//调用
var user = person('张三',18,'teacher');

                自定义构造函数:(推荐)

function Person(name,age){
    this.name = name;
    this.age = age;
    this.play = function(){
        console.log("person play");
    }
}

var user = new Person('admin',18);

        常见内置对象:

                Math对象:

//属性:圆周率
console.log(Math.PI);

//方法
console.log(Math.random());//随机数

console.log(Math.floor());//向下取整    向上取整:Math.ceil()

console.log(Math.round());//取整(四舍五入)

console.log(Math.abs());//绝对值

console.log(Math.max());//最大值

console.log(Math.min());//最小值

console.log(Math.pow());//指数次幂

console.log(Math.sqrt());//平方根

                Date对象:

//创建时间对象
var date = new Date();

//获取日期的毫秒形式
date.valueOf()

//获取日期指定部分
getTime()    //同valueOf()
getMilliseconds() 
getSeconds()  // 返回0-59
getMinutes()  // 返回0-59
getHours()    // 返回0-23
getDay()      // 返回星期几 0周日   6周6
getDate()     // 返回当前月的第几天
getMonth()    // 返回月份,***从0开始***
getFullYear() //返回4位的年份  如 2016

                Array对象:        用于创建数组

                       数组中常见的方法:

                                forEach:遍历

var arr = [1,2,3,4,5];
arr.forEach(function(item,index){
    //forEach 遍历数组,第一个参数是数组中的元素,第二个参数是数组元素的下标
    
    console.log(item+":"+index);
})

                                filter:对数组中的元素进行过滤筛选,只能读取原数组中的数据,不能改变原数据

var attr = ['aa','bbb','cccc','ddddd'];
/*
    通过filter,返回布尔类型,为true时,对应的元素留下,反之过滤
*/
var newAttr = attr.filter(function(item,index){

    if(index>2){//返回下标大于2的元素
        return item;
    }
})

console.log(attr);
console.log(newAttr);

                                map:可以对原来的元素进行修改等操作,然后返回一个新的数组对象

                 String对象:(同Java)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值