专栏首页前端真相JavaScript基础(3)

JavaScript基础(3)

1. JavaScript函数声明方式 * 函数声明方式声明的函数会被解析器通过函数声明提升的过程即function declaration hoisting置于原代码数的顶部,所以即使在函数前调用该函数也可以正常使用; * 而函数表达式方式除了不能在声明前调用外,与函数声明方式一样; * 函数对象方法可以直观地理解“函数是对象,函数名是指针”这个概念,但是它会造成解析器两次解析,一次是普通的ECMAScript代码,一次是解析传入Function构造函数里的字符串,会影响js引擎性能。 2. 弱类型语言,隐式转换 * 加“”都成字符串类型,表达式默认从左向右计算,与字符串做“+”运算都成字符串。 * var a=true;var b=false; alert('a+b='+(a+b)); =1 3. 强制转换: 4. prompt:获得输入数据;计算结果为NaN(不是数字的数字类型):参数有错误;除数为0:infinity(number类型);0/0:非数;:与“+”运算相反。 5. undefined是继承null;undefined针对数据变量,null针对引用变量。严格相等===。 * undefined==null-》true,undefined类型undefined,typeof(null)是object。 6. 关系运算中:字符串和数字比,字符串(NaN)转为数字,NaN>任意数字->false;isNaN() 7. document.write():打破网页正常输出流。 8. if语句 * * Null总是为假(false) * * Undefined总是为假(false) * * Number+0,-0 或是 NaN 的时候为假,其它值为真 * * String空字符串的时候为假,其它值为真 * * Object总是为真(true) 9. 作用域 * 全局、局部(函数) * JavaScript没有块级作用域:if(....){var a=1}console.log(a) * JavaScript一切赋值都是值传递。 * 10. 对多字节和非法字符进行单字节编码(encodeurl)。对双字节、单字节非法字符(URL规定参数值中再次出现保留字为非法,比如?:/ $)编码:encodeurlcomponent * utf-8:汉字占三字符,字母、数字单字节;Unicode:都是双字节 11. eval(string):可计算某个字符串,并执行其中的的 JavaScript 代码。 12. 数组(获取数组元素记得强转) * JavaScript同一数组不限制元素个数,不限制元素的数据类型(获取数组元素记得强转)。 * 是引用类型的对象,原始类型(数据保存在本地变量)只能保存一个数据,引用类型(数据保存在“堆”,由堆指向实际数据)保存一组数据,实际情况描述一个对象(物体),单一属性是不够的。 * var week=[]; * 凡是存储在堆中的都是对象。 * 直接可以输出数组,默认使用逗号隔开。 * 使用引用类型的对象(变量):变量-》对象地址-》对象本身 * new Array(num):在堆中创建;Array是ecmascript内置类型(实际开发中不使用)。 * 何时使用null?主动释放对象,被释放后就找不回了。undefined:初始化未赋值的变量。 * * 通过length扩容,缩容(截断,被截断的元素还占用存储空间,但是找不回了,也不能被释放回收,还属于原数组对象当中,垃圾回收不能只回收数组的部分元素,需跟整个原数组一起回收)。 * arr[arr.length]=新值 * toFixed()和toPrecision():0.1+0.2等于0.30000000000000004。JavaScript的数字都遵循IEEE 754标准构建,在内部都是64位浮点小数表示。 * hasOwnProperty(name) * 如果数组是稀疏的,那么这个数组中至少有一个以上的位置不存在元素(包括 undefined )。 * 类数组:http://www.cnblogs.com/guorange/p/6668440.html

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C/C++常见错误汇总

    出错原因: main.cpp中没有找到对应的函数名声明,没有在.cpp引用包含该函数名的头文件.h。 解决方法: 引入对应头文件。

    城市中的游牧民族
  • JavaScript 五种基本数据类型(上)

    城市中的游牧民族
  • js基础(4)

    城市中的游牧民族
  • 前端系列之JavaScript基础知识概述

    微信公众号:compassblog 欢迎关注、转发,互相学习,共同进步! 有任何问题,请后台留言联系! 1、什么是JavaScript (1)、JavaScri...

    compassblog
  • Python的classmethod修饰符

    classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化...

    于小勇
  • 你的博客用不着什么JavaScript框架

    今年年初,我终于决定将自己的网站从基于 PHP 的 CMS 移植到基于 JavaScript 的静态网站生成器(SSG)了。原因如下:

    深度学习与Python
  • 阿里钉钉和企业微信铺天盖地,大象盯盯专注产品,还有前途吗?

    2016年的企业级SaaS市场注定非同凡响,就在这个千亿级市场,各路英雄好汉打得不可开交,阿里钉钉、企业微信、腾讯企点等背靠巨头“横冲直撞”,和创(红圈营销)、...

    曾响铃
  • UDP套接字编程——Python语言描述

    版权声明:本文为博主原创文章,转载请注明博客地址: https://blog.csdn.ne...

    zy010101
  • 初识python 3

    1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49

    py3study
  • 优先考虑 nameof

    在分布式场景中,我们经常需要进行多个系统之间的通信,要实现这些通信往往需要不同的库对相应的需求进行处理。这些库为了实现跨平台和跨语言的兼容性往往利用数据名称和字...

    喵叔

扫码关注云+社区

领取腾讯云代金券