JavaScript基础语法介绍

语法

  1. 区分大小写
  2. 注释:单行//, 多行 /* ... */
  3. 分号作为代码的结束符号。
  4. 花括号为块代码。

变量

  • 使用var来声明一个新变量。例如var a;, 变量默认值为undefined
  • 多个变量使用逗号分隔。
  • 变量类型是弱类型,就是根据赋值来决定变量类型。

数据类型

JavaScript具有5中基础类型:undefined, null, boolean, number, string。还有一个复杂类型: object。
查看变量属于那种类型可以通过typeof:

var a = 100;
console.log(typeof a);

undefined和null

undefined表示一个未定义的基础类型的变量;而null表示一个空对象。所以object类型变量最好初始化为null。

var obj = null;
obj = {name: "kris", age: 20};

boolean类型

有五种值会转为false:0, NaN, undefined, null, ""(空字符串),其他值都转成true。

number类型

数值使用十进制。八进制前面以零开头。十六进制以0x开头。

var a = 100;
var b = 020;
var c = 0xFF;

浮点数可以使用小数点和指数。

var f = 3.14;
var m = 3e5;  // 表示 3 * 10^5

string类型

字符串可以使用单引号或者双引号。长度使用length获取。字符拼接使用加号。

object类型

object是拥有属性和方法的数据类型。

var person = new Object();
person.name = "kris";
person.age = 20;
person.grow = function() {this.age += 1;
}

操作符

算术操作符

包括:+, -, * , /, ++, --;

布尔操作符

非!, 与&&, 或||

关系操作符

大于>, 小于<, 大于等于>=, 小于等于<=, 相等==, 全等===, 不相等!=, 不全等!==

条件操作符

三元 5 > 3 ? true : false;

控制语句

if-else if-else
while, do-while
for, for-in
其中for-in用于遍历对象属性和方法:

for(var prop in person) {console.log(prop);
}

switch-case-default语句。
break, continue, label语句。label标记在循环之前,用于退出到最外层的label名称,在break之后指定。

函数

function add(n1, n2) {return n1 + n2;
}
或者var add = function(n1, n2) {return n1 + n2;
}

对象

创建对象:

var person = {name: "kris",age: 20,grow: function() {this.age += 1;}
}
或者
function Person(name, age) {this.name = name;this.age = age;this.grow = function() {this.age += 1;}
}
var p = new Person("kris", 20);

数组

JavaScript的数组其实是一种对象。

var a = [1,2,3];
或者
var a = new Array(1, 2, 3);
var b = new Array(20); //长度为20,没有赋值的数组

访问和修改HTML元素

document.getElementById("id");
document.getElementByTagName("p");
document.getElementByClassName("className");

使用style属性修改元素的样式表,例如:

var div = document.getElementById('divid');
div[0].style.backgroundColor = "red";

注意:在CSS中的background-color,由于变量名不能带有横线,所以改成backgroundColor。

添加和删除节点

var p = document.createElement("p");
p.innerHTML = "hello";
var div = document.getElementById("divid");
div.appendChild(p);

删除节点为: div.removeChild(x);

事件

var p = document.getElementById("pid");
p.onclick = function() {this.innerHTML = "Hello, kris";
}

事件种类包括:

  • onload: 页面或者图片加载完成
  • onclick: 鼠标点击。
  • ondbclick:鼠标双击
  • onkeydown: 键盘按键按下
  • onkeypress:按下并松开
  • onkeyup: 按键松开
  • onmousedown: 鼠标按下
  • onmousemove: 鼠标移动
  • onmouseout:鼠标移开
  • onmouseover:鼠标在上面
  • onmouseup: 鼠标松开。

@待续

转载于:https://www.cnblogs.com/zhangqunshi/p/6666794.html

JavaScript基础语法介绍相关推荐

  1. javascript基础语法——表达式

    前面的话 一般地,关于javascript基础语法,人们听得比较多的术语是操作符和语句.但是,其实还有一个术语经常使用,却很少被提到,这就是javascript表达式(expression).本文将详 ...

  2. web前端学习:1分钟了解JavaScript基础语法规则

    俗话说,"无规矩不成方圆".用在计算机语言上也同样使用.每种计算机语言都有自己的语法规则,只有遵循语法规则才能写出符合要求的代码.JavaScript也不例外,在使用JavaScr ...

  3. html5扩展函数的使用方法,知识分享:JavaScript基础语法

    知识分享:JavaScript基础语法 原创 mb5fd868d58f1472021-01-22 16:52:56©著作权 阅读数 41 ©著作权归作者所有:来自51CTO博客作者mb5fd868d5 ...

  4. javascript基础语法——词法结构

    前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫:而说它复杂,是因为要真正掌握它则需要数年时间.实际上,前端工程师很大程度上就是指javasc ...

  5. 【Javascript基础语法】第五周预习博客

    Javascript基础语法 前言 一.初识JavaScript 1.JS是什么 2.作用 3.浏览器执行js简介 4.Js组成 二.JS的引入方式 1.行内式 2.内部引入 3.外部引入 三.js语 ...

  6. 前端技术学习第三讲:JavaScript基础语法

    JavaScript基础语法 JavaScript(简称"JS") 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言.虽然它是作为开发Web页面的脚本语言而出名,但是它也被 ...

  7. JavaScript基础语法(一)

    目录 前言 js变量 数据类型 数据类型转换 传送门 --> JavaScript基础语法(二).JavaScript之数组与函数(三).JavaScript之对象(四).JavaScript阶 ...

  8. salesforce.com开发平台 Apex语言介绍 (一.基础语法介绍)

    概要 Salesforce.com 的Apex语言是在Salesforce.com平台上执行的一种强类型编程语言.Apex被用作添加应用程序的业务逻辑(Business Logic),开发数据库触发器 ...

  9. RUNOOB JavaScript 基础语法

    JavaScript 基础语法 JavaScript 的特点: JavaScript是一种动态类型.弱类型.基于原型的解释型脚本语言 动态类型:变量在声明时不需要声明类型,在运行时根据被赋值类型进行转 ...

  10. JavaScript作业1(实验1:Javascript基础语法)

    1.判断今年是否闰年. <!DOCTYPE html> <html lang="en"><head><meta charset=" ...

最新文章

  1. LeetCode简单题之数字转换为十六进制数
  2. 经典文章之java 操纵Excel[转]
  3. 每天一个linux命令(15):tail 命令
  4. lombok时运行编译无法找到get/set方法 看这篇就够了
  5. MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
  6. python使用spark sql查询impala_如何使用JDBC将Impala表直接加载到Spark?
  7. 低级问题---.net franmework安装
  8. Xlib: connection to :0.0 refused by server解决方法
  9. PMP证书考试攻略:项目管理考试技巧篇(名师分享PPT)
  10. hbuilderX连接雷电模拟器
  11. JAVA音视频解决方案----开源jtt1078源码与沟通群
  12. Verilog中begin...end和fork....join的区别和用法
  13. Arcgis栅格数据转至GMT支持的.grd格式绘图
  14. windows系统C盘pagefile.sys占用空间大怎么解决
  15. 阿里视频云点播端体验Demo
  16. python豆瓣mysql_Python3.5爬取豆瓣电视剧数据并且同步到mysql中
  17. 解决谷歌浏览器打开控制台有延迟
  18. android 系统相册 多远,【系统相册】Android 保存图片到系统相册
  19. 【Python】进制、计算机中的单位、编码、数据类型、索引、字符串切片、字符串的功能方法
  20. linux初始化启动文件,Linux 的初始化与启动过程

热门文章

  1. [工具] Numpy
  2. EEPlat的元数据驱动的运行引擎
  3. EGS5在linux系统下安装过程
  4. 强烈推荐深入浅出jBPM
  5. 使用AjaxPro实现ajax效果
  6. 论文阅读:Siam-RPN
  7. Linux服务器管理神器-IPython
  8. HDU Fibonacci
  9. Word 参考文献的自动修改
  10. 新手如何发布第一个Python项目开源包?这里有一份详细指南