1 下面列出的值被当作假

false

null

undefined

''

0

NaN

其它所有值被当作是真

console.log(undefined || true); //true

console.log(0||true); //true

console.log(''||true); //true

console.log(false||true); //true

console.log(null||true); //true

console.log(NaN||true); //true

console.log(undefined&&true); //undefined

console.log(0&&true); //0

console.log(null&&true); //null

console.log(' '&&true); //空字符串

console.log(NaN&&true); //NaN

console.log(false&&true); //false

console.log(undefined || 0); //0

console.log(0||undefined); //undefined

console.log(''== 0);//true

console.log(''== '0');//false

console.log(0=='0')//true

console.log(false=='false')//false

console.log(false==false);//true

console.log('false'=='false');//true

console.log(false=='0');//true

console.log(false==null);//false

console.log(false==undefined);//false

console.log(null==undefined);//true

2 javascript 5种简单数据类型

Undefined 类型

Boolean 类型

Number 类型

String类型

Object 类型

var a = new Number();

var c = new Boolean();

var d = undefined;

var e = new String();

var f = new Object();

console.log(a,b,c,d,e,f);//Number {}Boolean {} undefined String {}Object {}

3 typeof操作符

“undefined”    ----------   如果值未定义                       Undefined

“boolean”      ----------     如果这个值是布尔值              Boolean

“string”        ----------     如果这个值是字符串              String

“number”      ----------     如果这个值是数值类型           Number

“object”        ----------     如果这个值是对象或null        Object

“function” ----------     如果这个值是函数                 Function

var a = null;

var b ='';

var c =0;

var d = [1,2];

var c = function(){}

var e = false;

var f;

console.log(typeof a,typeof b,typeof c,typeof d,typeof e,typeof f); //object string function object boolean undefined

4 运算符优先级

5 函数调用模式(4种)

(1)方法调用模式

当一个函数被保存为对象的一个属性时,称它为一个方法

var person = {

say:function(){

alert('hi!');

}

}

person.say();

(2)函数调用模式

当一个函数并非一个对象的属性时,那么它被当作一个函数来调用

function say(){

alert('hi!');

}

var a= say();

(3)构造器调用模式

function Person(){

this.say = function(){

alert('hi');

}

}

var p = new Person();

(4)call/apply调用模式

var arr = [1,2];

function add(){

return arguments[0]+arguments[1];

}

var sum = add.apply(null,arr);

console.log(sum);//3

6 return语句

如果没有return时,函数默认返回undefined,如果用构造器调用模式,则返回函数的this对象。

var add = function(a,b){

a+b;

}

console.log(add()); //返回undefined

var a = new add();

console.log(a);// 返回this对象

7 try/catch语句

try{

console.log(abc);

}catch(e){

console.log(e.name+":"+e.message); //ReferenceError:abc is not defined

}

8 闭包

下面这种情况,得到的值都是5

var arr =[];

for(var i=0;i<5;i++){

arr[i] = function(){

console.log(i);

};

}

arr[0](); //5

arr[1](); //5

arr[2](); //5

arr[3](); //5

arr[4](); //5

解决方法

var arr =[];

for(var i=0;i<5;i++){

(function(i){

arr[i] = function(){

console.log(i);

};

}(i))

}

arr[0](); //0

arr[1](); //1

arr[2](); //2

arr[3](); //3

arr[4](); //4

javascript基础知识拾遗的更多相关文章

  1. Javascript基础知识总结一

    Javascript基础知识总结一 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...

  2. 学习javascript基础知识系列第二节 - this用法

    通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...

  3. 学习javascript基础知识系列第三节 - ()()用法

    总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...

  4. JavaScript 基础知识 - BOM篇

    前言 本篇文章是JavaScript基础知识的BOM篇,如果前面的<JavaScript基础知识-DOM篇>看完了,现在就可以学习BOM了. 注意: 所有的案例都在这里链接: 提取密码密码 ...

  5. (转)JAVA AJAX教程第二章-JAVASCRIPT基础知识

    开篇:JAVASCRIPT是AJAX技术中不可或缺的一部分,所以想学好AJAX以及现在流行的AJAX框架,学好JAVASCRIPT是最重要的.这章我给大家整理了一些JAVASCRIPT的基础知识.常用 ...

  6. JavaScript基础知识整理

    只整理基础知识中关键技术,旨在系统性的学习和备忘. 1.在 JScript 中 null 和 undefined 的主要区别是 null 的操作象数字 0,而 undefined 的操作象特殊值NaN ...

  7. Jquery源码中的Javascript基础知识(三)

    这篇主要说一下在源码中jquery对象是怎样设计实现的,下面是相关代码的简化版本: (function( window, undefined ) { // code 定义变量 jQuery = fun ...

  8. JavaScript基础知识从浅入深理解(一)

    JavaScript的简介 javascript是一门动态弱类型的解释型编程语言,增强页面动态效果,实现页面与用户之间的实时动态的交互. javascript是由三部分组成:ECMAScript.DO ...

  9. JavaScript基础知识必知!!!

    JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型. JS作用:表单验证,减轻服务端的压力:添加页面动画效果:动态更改页面内容:Ajax网络请求. 下面简单介 ...

随机推荐

  1. css3 animation动画技巧

    一,css3 animation动画前言 随着现在浏览器对css3的兼容性越来越好,使用css3动画来制作动画的例子也越来越广泛,也随着而来带来了许多的问题值得我们能思考.css3动画如何让物体运动更 ...

  2. common-pool2对象池(连接池)的介绍及使用

    我们在服务器开发的过程中,往往会有一些对象,它的创建和初始化需要的时间比较长,比如数据库连接,网络IO,大数据对象等.在大量使用这些对象时,如果不采用一些技术优化,就会造成一些不可忽略的性能影响.一种 ...

  3. 1644 免费馅饼 题解(c++)(S.B.S.)

    1644 免费馅饼(巴蜀oj上的编号) 题面:          SERKOI最新推出了一种叫做“免费馅饼”的游戏.         游戏在一个舞台上进行.舞台的宽度为W格,天幕的高度为H格,游戏者占 ...

  4. 内网穿透利器 Ngrok 使用教程

    ngrok 服务可以分配给你一个域名让你本地的web项目提供给外网访问,特别适合向别人展示你本机的web demo 以及调试一些远程的API (比如微信公众号,企业号的开发) 下面开始教程 Step ...

  5. codeforces 709D D. Recover the String(构造)

    题目链接: D. Recover the String time limit per test 1 second memory limit per test 256 megabytes input s ...

  6. CSS3 圆角(border-radius)详解

    在做网页的时候,常常需要实现圆角,以前的做法就是切图,现在好了,有了css3的 border-radius 特性之后,实现边框圆角效果就非常简单了,而且其还有多个优点:一是减少网站维护工作量:二是提高 ...

  7. Mango Weekly Training Round #6 解题报告

    比赛链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=41856#overview A.多种解法.可以dfs倒序染色,如mathlove ...

  8. 链表面试题Java实现【重要】

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  9. 打包Android:Error building Player: CommandInvokationFailure

    错误log Error building Player: CommandInvokationFailure: Unable to determine the tools version of the ...

  10. C r and n(组合数)

    找出n个数的r个数的组合,如下形式: 输入:n,r分别为 5, 3 输出: 5    4     3 5    4     2 5    4     1 5    3     2 5    3     ...