2019-06-10

JavaScript023

2019-06-10,第1张

1.相等运算符

== 用来判断两个值是否相等,类型不同的时候会先进行转换在做比较,null == 0 返回的是false null==undefined返回的是true,NAN不和任何值相等,也包括自身 当判断的一个值是否是NAN,可以用isNAN()函数判断。

=== 全等 不会做类型自动转换的  !== 全不等 依旧不会做类型转换

2.条件运算符或三元(目)运算符

返回值是true执行语句一

返回值是false执行语句二

var a = 10

var b = 20

a》b ?alert(‘a大’):alert(‘b大’)

3.运算的优先级

可以分割语句,声明多个变量,还可以赋值。

先乘除后加减

4.语句

在js中可以使用{}为语句分组

js操作属性

《script type=text/javascript》

widow。onload = function(){  全部加载渲染完之后才执行下一步

document。getElementById(div1)。title= 我看到了;

《/script》

《body》

《div id = div1 class = div1 title = 这是一个div元素,你看到了吗?》

《/body》

在js中有类似font-size这类似的系统回默认为-号,可以用小驼峰  fontSize写法

、class属性

需要在class后面加Name

中括号

需要在变量加上中括号。[color]写法

style的写法['style']

document。write 只能重绘整个页面

innerhtml 可以重绘页面的一部分。

js函数

function aa()是定义一个函数  aa()函数名  {} 函数内容

调用<input type = button value = 弹框 onclick = aa()>

变量和函数的预解析

js是先预解析一边,然后执行。他会把函数整个提前 声明提前

匿名函数

没有命名的函数就是匿名函数

函数传参

function changeStyle(styl,val){

oDiv.style[styl] = val;

}

changeStyle(参数一,参数二)

函数return关键字

返回函数结果,会结束函数的运行,阻止默认的行为。

流程控制语句

条件判断语句: if。。。。。elif

js读写的是行间的样式 一开始行间是没有样式的,所以是先要执行none,或者在后面添加空字符串。

const groupBy = (array, f) =>{

    let groups = {}

    array.forEach(function (o) {

        var group = JSON.stringify(f(o))

        groups[group] = groups[group] || []

        groups[group].push(o)

    })

    return Object.keys(groups).map(function (group) {

        return groups[group]

    })

}

const arrayGroupBy = (list, groupId) =>{

    let sorted = groupBy(list, function (item) {

        return [item[groupId]]

    })

    return sorted

}

arrayGroupBy(数组, '字段名称')