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 条评论
登录 后参与评论

相关文章

来自专栏专注 Java 基础分享

详解Java API之正则表达式

     正则表达式描述的是一种规则,符合这种限定规则的字符串我们认为它某种满足条件的,是我们所需的。在正则表达式中,主要有两种字符,一种描述的是普通的字符,另...

2399
来自专栏深度学习思考者

C++常见问题(二)——虚函数、类与结构、引用与值传递

一 文件输入输出的方式 C++定义了ifsteam、ofstream和fstream 3种类型以用来支持文件的输入输出。 二 异常 异常就是程序运行时出...

1936
来自专栏塔奇克马敲代码

第2章 变量和基本类型

2074
来自专栏三流程序员的挣扎

Python 自学二——类型

', '.join(['cats', 'rats', 'bats']) # 以 `, ` 分隔 'cats, rats, bats' s = 'cat ra...

1743
来自专栏从流域到海域

Python yield关键字 和 Generator(生成器)

Generators functions allow you to declare a function that behaves like an itera...

26510
来自专栏Rovo89

JavaScript闭包与箭头函数

1022
来自专栏互联网杂技

JavaScript 10分钟入门

简介 JavaScript是一门面向对象的动态语言,他一般用来处理以下任务: 1、修饰网页 生成HTML和CSS 生成动态HTML内容 生成一些特效 2、提供...

36010
来自专栏landv

Java基本语法

1621
来自专栏C/C++基础

字符数组的初始化与赋值

C语言中表示字符串有两种方式,数组和指针,字符数组是我们经常使用的方式。变量的定义包括指明变量所属类型、变量名称、分配空间以及初始化。可以看出,变量的初始化是变...

2582
来自专栏Python爬虫实战

Python指南:组合数据类型

Python提供了5中内置的序列类型:bytearray、bytes、list、str与tuple,序列类型支持成员关系操作符(in)、大小计算函数(len()...

1531

扫码关注云+社区

领取腾讯云代金券