JavaScript 基础

JavaScript 基础语法介绍。

特例

var a = (1,2,3); // 取右边的数值 a = 3

调试

var x = 15 * 5;
debugger;
document.getElementbyId("demo").innerHTML = x;

变量

var a;

a = 1;

a = "Hello";

var b = 6;

var c, d;         // 一次声明多个变量

var c = 1,d = 1;  // 声明同时赋值

变量提升

a = 1;

console.log(a); // 可以正常输出

console.log(b); // 报错

var a

var b = 1; // 声明的同时赋值,变量不会提升

变量作用域

函数外部声明,函数内部可以调用,反之不行。

下边是一个特例

如果变量在函数内没有声明(没有使用 var 关键字),该变量为全局变量

// 此处可调用 carName 变量

function myFunction() {
    carName = "Volvo";
    // 此处可调用 carName 变量
}

函数

function fun1(a, b) {
  console.log(a);
  console.log(b);
  return a;        // 函数返回值
}

fun1(1,2);  // 调用函数

在函数表达式存储在变量后,变量也可作为一个函数使用:

var x = function (a, b) {return a * b};
var z = x(4, 3);

函数参数

Arguments 对象

argument 对象包含了函数调用的参数数组。

自调用函数

(function () {
    var x = "Hello!!";      // 我将调用自己
})();

数据类型(6 种)

  • number
  • string
  • boolean
  • null
  • undefined
  • 对象 包含 function Data Array

隐式转换

"37" - 7 // 30

"37" + 7 // 377

包装对象

var a = 'a';

var obj = new String('a');

类型检测

typeof 100 // number

obj instanceof Object // obj 是不是 Object

Object.prototype.toString.apply([]); // [object Array]

// constructor

// duck type

类型转换

String(123);

(123).toString();

Number("3.14");

数组

var myArray = new Array();

var myArray = new Array(1,2,3);

var myArray = [1,2,3];

myArray[0] = 80;  // 数组赋值
myArray.length;  // 数组长度
myArray.sort()   // 数组排序

流程控制

if (true) {

} else {

}
switch (expression) {
  case expression: // 这里是恒等 ===

    break;
  default:

}
for (var i = 0; i < array.length; i++) {
  array[i]
}
for (var variable in object) {
  if (object.hasOwnProperty(variable)) {

  }
}
while (true) {

}
do {

} while (true);

break 跳出循环。

continue 跳过本次循坏。

错误处理

try {
  throw "test"
} catch (e) {
  console.log(e);
} finally {
  console.log('finally');
}

严格模式 'use strict'

提供更强的错误检查。

function functionName() {
  'use strict'
}

不允许用 with

delete 参数、函数名会报错

对象字面量重复属性报错 {x:1,x:2}

等等。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • PXE 模式启动 CoreOS

    本文是对 CoreOS 官方文档 Booting with PXE 的翻译与补充。 安装配置 PXE 服务器 安装配置 PXE 服务器请查看本博客文章 Linu...

    康怀帅
  • Mac OS X 背后的故事(下)

    Mac OS X 背后的故事(九)半导体的丰收 半导体的丰收(上)   在美国宾夕法尼亚州的东部,有一个风景秀美的城市叫费城。在这个城市诞生了一系列改变世界的奇...

    康怀帅
  • 在生产环境使用 Docker

    本文是对官方文档的总结与备注。 官方文档:https://docs.docker.com/engine/userguide/ 配置 Docker 手动启动 Do...

    康怀帅
  • Nodejs进阶:Express常用中间件body-parser实现解析

    body-parser是非常常用的一个express中间件,作用是对post请求的请求体进行解析。使用非常简单,以下两行代码已经覆盖了大部分的使用场景。

    IMWeb前端团队
  • 基于 HTML5 WebGL 的 3D 科幻风机

      许多世纪以来,风力机同水力机械一样,作为动力源替代人力、畜力,对生产力的发展发挥过重要作用。近代机电动力的广泛应用以及二十世纪50年代中东油田的发现,使风机...

    HT for Web
  • PHP var关键字相关原理及使用实例解析

    其实我经过测试,认为var就是public的别名,是用在类中定义公有属性的,只不过历史问题,现在不用var了。后来查了查php官网,果然如此。

    砸漏
  • JavaScript的值传递和引用传递

    Fundebug
  • DIY一个Sketch插件,生成猫猫狗狗的全家福

    最近朋友圈都在玩的全家福: ? 看了下是使用 cocos2D 引擎制作的, http://www.cocos.com/creator 主要是图片合成,利用前端...

    mixlab
  • Nodejs进阶:Express常用中间件body-parser实现解析

    写在前面 body-parser是非常常用的一个express中间件,作用是对post请求的请求体进行解析。使用非常简单,以下两行代码已经覆盖了大部分的使用场景...

    IMWeb前端团队
  • 基于 H5与WebGL 的科幻风机 3D 展示

      许多世纪以来,风力机同水力机械一样,作为动力源替代人力、畜力,对生产力的发展发挥过重要作用。近代机电动力的广泛应用以及二十世纪50年代中东油田的发现,使风机...

    HT for Web

扫码关注云+社区

领取腾讯云代金券