javascript快速入门

标识符多了一个美元符号
python中只有字母和下划线和数字,数字不能开头
数据类型有number(整形和浮点型),boolean,string,null,undefined(声明未赋值),symbol(新引入),object类型(基本类型和特殊类型外的其他类型)

引入一个变量要先申明,
var a,
let b
常量类型,声明时定义,python中不存在
const c = 12
var 和 let 隐式表达了它的作用域,var默认全局,let默认代码块内部(大括号限定的区域,包括if,while,for语句)
但是如果声明在函数中var也只是函数中的作用域
let 定义在外部,{}和函数内部一样也可以调用
var相当于在python中的普通变量
let只是在块中才会限定作用域

var,let,const 对函数对象也会起作用
比如 var add = function (x,y){ return x+y }

不同类型的相加和短路运算符的类型转换
所有类型与字符串相加(可以交换)都是隐式转换为字符串
与数值形相加,布尔形相当于1或0参与相加, null相当于0处理,还可以相减
布尔形自身相加减也是相当于1或0加
undefined与其他类型相加减,返回NaN都是数值型,NaN是number类型的一个特值
null是object的一个空值

定义了名字的块,只能表示 enties的,分为key和value

for 语句
for (x in iters)
console(i) 打印对象的索引
for (x of iters)
console(x) 打印对象的值
经测试,使用他打印块字典对象的值有异常

函数:
函数的参数,函数对参数要求非常的低,默认位置参数,没有关键字传参,形参没有匹配的实参
默认为undified,多传参不会出错,收集参数(可变参数)…args要在形参的最后.
打印一个函数,python显示
<function abc at 0x0000020553CDF7B8>
js显示 [Function: abc]

ES6以前类的定义
function add(x,y){
this.x = x // –>用来构造实例的特征属性或方法
this.y = y
console.log(this) // –>公共执行的代码
let abs = x // –> 类的属性,所有实例都有的属性
}
打印一个 add 表示是一个函数,
执行普通调用 add(1,2)
实例化 ,使用new关键字 , a = new add(2,3), 调用的函数也可以叫做构造器
function addd(x,y,z){
add.call(this,x,y) //调用父类,调用后相当于继承,第一个参数需要给this,否则不能继承,后面的参数为,
this.z= z //传进的实参参数,他会被收集赋给父类函数,调用以后可以进行后续的调用父类的属性(只能调用实例属性或函数)
console.log(this.x,this,y,this,z)
}

新式ES6以后
class Point {
constructor(){ // 相当于init,初始化对象时默认运行,一般用来赋值this属性,可以接收参数
this.x = 1
this.y = 2
console.log(‘point’,this.x,this.y)
}
show(x,y){ // 使用类的对象调用,
console.log(x,y)
console.log(‘_point’)
this.z =3
}
}
p = new Point() 初始化
p.show(2,3) 调用非this属性的函数方法,如果this属性有相同名属性优先调用属性,而且要遵守调用它的格式
类的继承
class Point3d extends Point{
constructor (x,y) { //可以如果不写相当于调用了 constructor(){ super() }
super() //必须要写,如果要传参, 把实参写入,它将被按序收集
} // 父类的this属性可以被重写
//父类的函数子类的实例可以调用,也可以被重写
}

try/catch语句
try { //默认执行直到 throw对象,
console.log(‘try–‘)
throw ReferenceError(‘new error’); //throw的必须为一个对象(javascript不能理解一切皆对象),必须为基本
//throw console.log(‘–out’) //类型,或者object(函数,块,类),最后null也不识别
console.log(‘–out’)
}catch (error) {
console.log(‘—–‘)
console.log(error,typeof(error)) // 只会显示基本类型或者object
console.log(error.constructor) // 会显示具体类型
}

数组的解构 使用中括号和变量名解构,类似函数对参数的解构要求,支持可变参数,支持默认值

块字典的解构,要按照字典的键来解构,否则解构得到undefined
支持定义缺省值.支持收集参数,收集的值类型为object,且不需要有对应的键

数组的内建函数
arr.push(4,6,’fg’) 把参数添加进数组后面
arr.pop() 无参,弹出最后一个
newarr = arr.map(fn) 把数组的值依次作为参数放入fn中处理,获得的返回值组成一个新的数组
newarr = arr.filter(fn) 过滤数组返回一个新的数组
arr.forEach(function (e){ 把数组的元素依次放入函数中执行
if(e%2==0){
newarr.push(e)
}
else{
newarr.push(0)
}
})
console.log(newarr)

块字典的处理函数
Object.keys .values .entries
Object.assign() //将可以处理成键值对的都包装合并成一个块字典,后面的键会覆盖前面的同名的键和值

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/91120

(0)
daishitongdaishitong
上一篇 2018-01-15 08:58
下一篇 2018-01-15 15:46

相关推荐

  • sed命令、crontab任务、简单脚本练习(21期网络班第六周博客作业)

    vim使用: 直接使用sed模式空间演示,基本语法与vim命令模式类似(需注意vim默认定界为当前行,一般需要在前面加1,$定界为全文,而sed不需要) 1、 复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;      sed &#03…

    Linux干货 2016-08-22
  • 第六周作业

    一、Vim编辑器练习: 用Vim编辑器做下面的练习,我的Linux系统(CentOS 6.9)安装了精简版系统,没有Vim编辑器。 a、设置Yum源为网易开源镜像站。 b、选择对应“镜像名”,到对应的“CentOS使用说明”里面查看内容 c、看着CentOS说明操作就可以了 d、使用说明 首先备份/etc/yum.repos.d/CentOS-Base.re…

    Linux干货 2017-08-22
  • 进入linux世界的初步认识

    1、 描述计算机的组成及其功能.
    2、 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别.
    3、 描述Linux的哲学思想,并按照自己的理解对其进行解释性描述.
    4、 说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述.
    5、 如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的.
    6、 请罗列Linux发行版的基础目录名称命名法则及功用规定.

    Linux干货 2018-02-25
  • 马哥教育网络班21期第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who | cut -d" " -f 1 |sort |uniq 2、取出最后登录到当前系统的用户的相关信息。 last | head -…

    Linux干货 2016-07-29
  • grep,egrp,fgrep 命令与正则表达式

    一 简介     grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 Unix的grep家族包括grep、egrep和fgrep…

    Linux干货 2016-01-19
  • 推荐-Linux Namespace的一点理解

        下文的原文来自: http://blog.csdn.net/preterhuman_peak/article/details/40857117    原文写的非常好,下文中大部分文字描述来自原文,我仅做了一点理解性的插图和实验部分。    &…

    Linux干货 2016-03-28