ExtJS--学习JavaScript
day04
1.--javascript数据类型
6中基本数据类型:
number string boolean object function undefined
number:就是数字值,包括整数,小数,NaN,正负无穷
string:字符串类型,单双引号引起来的内容
boolean:true,false
object:表示所有javascript对象
function:我们熟悉的方法,也就是函数类型,是javascript特有的数据类型
undefined:表示变量声明了但是并没有被赋值
---Ext.onReady(function(){
//Number
var num1 = 10;
var num2 = 10.5;
var num3 = .6; //0.6
var num4 = 070; //56 8进制
var num5 = 1/0; //不报错--正无穷
var num6 = window.parseInt("123viasheushe"); //只显示数字--NaN not a number
//Object
var date = new Date();
var arr = new Array();
var obj = {name:'bjsxt',age:10};
alert(obj.hasOwnProperty('name')); //验证判断有没有name属性,返回true false
//Undefined 变量声明了但是并没有被赋值,其实也等同于Null
var a;
alert(a);//输出undefined
alert(undefined==null);//验证是否等于null-则返回true
alert(typeof null);//表示的就是一个空对象的引用object类型
//Function
function fun(){
console.info('fun....');
}
alert(typeof fun); //fun不加小括号就是一种引用,加小括号表示执行
});
2.javascript变量
声明变量:var关键字+name表示
----javascript变量是弱变量类型,所谓弱变量类型就是根据赋值决定变量的类型
----方法里的声明的是局部变量,方法外的是全局变量(全局变量查找效率-慢,大型开发不安全)
----操作符- typeof操作符是判断数据类型的操作符
3.javascript数组
--类似于java里的容器,可以承装不同类型的元素
--push,pop
--shift,unshift
--splice, slice
--concat , join
--sort , reverse
//循环数组元素 Array
var arr = [1,2,3,4,5];
arr.forEach(function(item){
alert(item);
});
//过滤
var newarr = arr.filter(function(item){
if(item>20){
return true;
}else{
return false;
}
});
alert(newarr);//返回true 的打印
day05
---javascript函数
1.创建函数的三种方式--function语句形式
function fun1(){
alert('func1...');
};
--函数直接量形式
var fun2 = function(){
alert('fun2...');
};
//前两种创建函数的主要区别:function语句形式,javascript解释器直接会去找,其他的代码从上到下顺序执行
--构造函数形式
var fun3 = new Function('x','y','return x+y;');//注意renturnx+y;后的分号,是一个语句
alert(fun3(10,20));//执行,传入10,20参数,输出返回值
//第三种构造函数形式,它具有的作用域与前两种不同,他具有顶级作用域
var k = 1;
function test(){
var k= 2;
function f(){return k;};//第一种返回2
var f= function(){return k;};//第二种返回2
var f= new Function('return k;');//第三种返回1,就相当于在最顶级定义new
alert(f());
};
test();
2.函数中的arguments对象
--每一个函数内部都有一个arguments对象
argument的作用一:接受函数的实际参数
function test(x,y){
//alert(arguments);
alert(arguments.length);//len=3
alert(arguments[2]);//val=3
};
test(1,2,3);
argument的作用二:用于做递归操作
function fact(number){
if(number<=1){
return 1;
}else{
return number*fact(number-1);//改成return number*arguments.callee(number-1);
}
};
var fact2=fact;
fact=null;
alert(fact2(5));//返回120 5*4*3*2*1=120
相关文章
- javascript里阻止事件冒泡
- JavaScript面向对象之我见
- 移动端基于HTML模板和JSON数据的JavaScript交互
- javascript中slipt()分割
- 第一百三十三节,JavaScript,封装库--弹出登录框
- JavaScript经典代码【二】【javascript判断用户点了鼠标左键还是右键】
- [Javascript] Understanding the difference between .prototype and .__proto__ in JavaScript
- [Javascript] Compare a Generator to Using Array Map and Filter
- [Javascript] Avoiding Mutations in JavaScript with Immutable Data Structures
- [Javascript] Coding interview problem: Scheduler functional way
- [Javascript] What is JavaScript Function Currying?
- [Javascript] An Introduction to JSPM (JavaScript Package Manager)
- [Javascript] Using JSHint for Linting with Gulp
- [Javascript] Broadcaster + Operator + Listener pattern -- 18. Create a Win Condition with a mapDone Operator
- [Javascript] Use an Array of Promises with a For Await Of Loop
- [Javascript] Understanding the .constructor property on JavaScript Objects
- [Javascript] Add a browser build to an npm module
- [Javascript] Redirect the browser using JavaScript
- [Javascript] How to use JavaScript's String.replace
- Javascript Mvc学习杂记2
- 了解Javascript 变量
- Javascript 学习 笔记三
- 使用Chrome开发者工具研究JavaScript的垃圾回收机制
- Javascript MVC 学习笔记(三) 视图和模板
- JavaScript学习14:表单处理
- 如何系统地学习JavaScript
- Javascript 原型链资料收集
- python web py入门(39)- javascript的while循环语句
- web前端Javascript开发学习之JavaScript中的预编译如何进行