javascript是前端工程师必须掌握的三种技能之一,其他的包括描述网页内容的的HTML,描述网页样式的CSS以及描述网页行为的javascript。

JavaScript由来

JavaScript是oracle的注册商标,
因版权问题,ECMA(欧洲计算机制造协会)命令为ECMAScript,微软则命名为Jscript。
在业内还是统称为JavaScript。有时也会简称为ES3和ES5。

JavaScript语言核心

作为快速概览
主要包括基础知识,注释以及变量和赋值
其中比较重要的元素包括:文本,数组,日期和正则表达式,需要关注的数据类型包括:对象和数组
例如

//双斜杠之后属于注释
//变量是表示值的一个符号名字
//变量是通过var关键字声明的
var x=0;
var book={
   topic:"JavaScript",
   fat:true
}
var primes=[1,2,3,4] //4个元素的数组
ES6之后,变量声明使用let声明
let primes=[1,2,3,4] //4个元素的数组

对象是由花括号括起来的,属性topic的值是JavaScript,属性Fat的值是true,花括号标记了对象的结束
通过·或者[]来访问属性。数组和对象都可以包含另一个数组和对象。
通过方括号定义数组元素和通过花括号定义对象属性名和属性值之间的映射关系的语法称为初始化表达式。以分号结束的行成为语句。
JavaScript是一种面向对象的语言,但是和传统的面向对象又有很大的区别。

//定义一个构造函数以初始化一个新的point对象
functin Point(x,y){ //按照惯例,构造函数方法以大写字母开始
  this.x=x;  //关键字this代指初始化的实例
  this.y=y
}
var p = new Point(1,1);
//通过给构造函数的prototype对象赋值来给Point对象定义方法
Ponit.prototype.r=function(){
  this.x=1;    //this指代调用这个方法的对象
}
p.r()

客户端JavaScript

JavaScript代码可以通过\<script>标签来嵌入到html文件中

function highlight(e){
  if(!e.className) e.className="hilite";
  e.className+=" hilite";
}

function debug(msg){
  var log = $("#debuglog");
  if(log.length == 0){
    log = $("<div id='debuglog'> <h1>Debug log </h1></div>");
    log.appendTo(document.body);
  }
  log.append($("<pre/>").text(msg));
}

第7版补充

ES6之后有一种定义函数的简写方式,使用=>来分隔参数列和函数体,称为箭头函数,箭头函数经常用于把一个未命名函数作为参数传给另一个函数。

Last modification:May 25, 2022
If you think my article is useful to you, please feel free to appreciate