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

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

hot3.png

javascript没有块作用域

so 一些看似莫名其妙的问题出现了

比如如下

function add (sum1, sum2) {	sum = sum1 + sum2;	return sum;}add(10, 20);alert(sum);

这个时候sum居然有值了 

我猜测是因为return的原因

不过当我删除return时还是会出现如上情况

sum估计加入全局变量 不过是不是window.sum不好说

function add (sum1, sum2) {	var sum = sum1 + sum2;	return sum;}add(10, 20);alert(sum);

所以除非你想在外面使用这个变量 最好在函数里使用var

var color = "blue";function getColor() {	return color;}alert(getColor());

弹出"blue"

ok这时候我又慌了 为什么会这样查找 

var Pi = {	getColor: function() {		return color;	}}

我把她放到对象里试试 可是卧槽还是能查到外面的全局变量

javascript的对象

创建对象时 属性名也可以用字符串

var person = {	"name": "Nicholas",	"age": 29,	5: true};

json语法 javascript对象 相似啊

javascript Array一种特殊的Object

so 如何检测呢  

在ECMAscript5中

Array.isArray(value)

说道ECMAscript5 IE居然要到9才支持 我设计框架的时候不得不考虑放弃IE8了 没办法

Array是由Object继承过来的

所以toLocaleString, toString方法也相应继承过来

var person1 = {	toLocaleString: function() {		return "Jake";	},	toString: function() {		return "Jake";	}}var person2 = {	toLocaleString: function() {		return "Andy";	},	toString: function() {		return "Jake";	}}var people = [person1, person2];alert(people);alert(people.toString());alert(people.toLocaleString());

转载于:https://my.oschina.net/u/1421356/blog/339805

你可能感兴趣的文章
DS博客作业02--线性表
查看>>
第三届ACM山东省赛I题_Chess_STL
查看>>
jQuery each和js forEach用法比较
查看>>
前端笔记-作用域链的一些理解加记录(JS高级程序设计读书笔记1)
查看>>
改造你的网站,变身 PWA
查看>>
Leetcode 142. Linked List Cycle IIJAVA语言
查看>>
网络基础5
查看>>
Exchange Supported operating system platforms
查看>>
unity3鼠标点击移动
查看>>
Linux 安装中文包
查看>>
谷物大脑
查看>>
访问控制-禁止php解析、user_agent,PHP相关配置
查看>>
AgileEAS.NET之系统架构
查看>>
python3.5里的正则表达式
查看>>
Exchange server 2013 SP1 客户端会议室邮箱自动回复延迟
查看>>
nginx反向代理缓存服务器构建
查看>>
RHEL6 搭建LVS/DR 负载均衡集群 案例
查看>>
以太坊·Rinkeby 测试网络
查看>>
字符串按规则排序算法
查看>>
MPLS + BGP高级特性
查看>>