博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript的不一样
阅读量:4601 次
发布时间:2019-06-09

本文共 2201 字,大约阅读时间需要 7 分钟。

javascript

  • 最早是网景公司为扩展其浏览器功能而创造,而后因和Sun公司合作而改名javascript。其和Java语言没有任何关系犹如雷锋和雷峰塔
  • javascript的解释器常见有Google公司的v8引擎等, 基于v8引擎的Chrome浏览器、Node.js命令行都可解释执行javascript。

数据类型

  1. number
    • 所有的Integer value、所有的float value都是number。 特殊点的是NaN代表的意思是Not a Number, 但是typeof NaN会返回number*
  2. boolean
    • 该类型只有两个值truefalse *
  3. string
    可以使用英文双引号也可以使用单引号,转义字符也是\ (姑且称为一撇一捺的捺)
  4. object
    • 包括Array等等,一切皆对象。特殊点的是常对象null *
  5. undefined
    undefined可以算为一种类型,但是他也只有一个值就是undefined, 这个常对象undefined一般不用,大都由js解释器给出某个对象是当前值等于undefined
  6. symbol
    Symbol类型是ES6新加的哟...

Javascript是弱类型语言

函数

  1. Javascript是原型继承的语言, 是基于对象的语言(最大的对象是Global对象,在浏览器中这个Global对象就是window),这是javascript的精粹。。

    Java语言是基于类的语言,基于类的语言都有采用类的继承(派生)来大大提高代码复用率,而Javascript的原型继承不是基于类的,没有类的继承和派生。

  2. Javascript是基于对象的语言,也是"一切皆对象"。函数也是对象。语法上能出现变量的地方也能出现表达式,能用表达式的地方就也能用变量,就能用对象,就能用函数对象。
  3. Javascript闭包是说: a: 函数对象的局部变量不能被函数外部访问. b: 函数对象可以自由访问包含该函数定义的父函数的形式参数和局部变量

/*这里定义并立即调用了全局对象window的一个匿名子对象。*/;(function() {    console.log("Call foo function ...");    var para = {name: "libig", age: 17};    foo(para);    console.log("Call foo function have back!!!")})();/*这里定义了全局对象window的一个名为foo的子对象, 并将匿名函数对象赋给了foo。因此 foo是一个函数对象*/var foo = function (o){    alert("INFO: Some body call foo function.");    var ret = confirm("Print console log, YES or NO?");    if (ret === true) {        var prefix = prompt("Please input a word for log prefix");        console.log(prefix + "typeof o return ", typeof o, "value: ", o);        console.log(prefix + "foo called.");    }}/*这里定义了全局对象window的一个名为size的子对象,赋值0*/var size = 0;/*这里直接定义了全局对象window的一个名为do的子对象。do是一个函数对象*function do() {    console.log("this指代:" this); /*此时的this指代的就是全局对象window*/}/*这里定义了全局对象window的一个名为bar的子对象。*/var bar = function (name) {    var age;    var sex;    console.log("this指代: ", this);/*此时this指代全局对象window*/    /*bar又定义了一个匿名函数对象并立即调用,匿名函数对象返回值初始化了bar函数的局部变量content*/    var  content = function ()     {        console.log("this指代: ", this); /*此时的this指代的也是全局对象window*/        return name;    }();    console.log("content: ", content);    console.log("this指代: ", this);/*此时this指代全局对象window*/    }/*调用bar*/bar("Muhaha"); /*javascript解释器执行函数调用时,会增加this对象和实参列表数组arguments两个输入参数*/

序号 编辑原因 时间
1 头一回在园子使用markdown 2017-09-01
2

转载于:https://www.cnblogs.com/libig/p/7462394.html

你可能感兴趣的文章
Hadoop 使用Combiner提高Map/Reduce程序效率
查看>>
前言 转录组
查看>>
局域网内访问机器时出现“未授予在次计算机上的请求登陆类型”
查看>>
Bogart BogartAutoCode.vb
查看>>
GIT
查看>>
关于OPENSSL的EVP函数的使用
查看>>
记录:学习中遇到的错误
查看>>
部署Node.js项目(CentOS)
查看>>
linux设备模型之spi子系统
查看>>
编程题
查看>>
不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况...
查看>>
tf Dataset API
查看>>
js中按钮控制显示隐藏以及下拉功能
查看>>
Intent
查看>>
波涛 - 证券期货投资计算机化技术分析原理(2013年3月19日)
查看>>
sqlserver存储过程中sql语句连接及datetime字段的处理
查看>>
JavaScript 测试和捕捉
查看>>
高级软件工程第二次作业——个人项目实战:数独
查看>>
Kafka主要配置
查看>>
PHP开发经验总结
查看>>