javascript基础

1,解释型语言  和 编译型语言

2javascript的变量作用域

全局作用域:javascript可执行的所有范围都起作用

局部作用域:当前函数内起作用

举个例子:

如果函数内部定义了和函数外部相同的变量,函数内部操作的是局部范围的变量,函数外部操作的全局范围的变量

var v = 'global';

function f1(){

var v = 'function';

alert(v);

}

f1();

② var v = 'global';

function f1(){

alert(v);

var v = 'function';

}

f1();

为什么是undefined

Javascript代码执行流程:

Javascript代码整体上是按照html文档流执行,但是也并不是完全按照,而是优先执行函数,这时函数内部的局部变量暂时设置为undefined

3

var v = 1;

function f1(){

v += 1;

alert(v);

}

f1();

f1();

Javascript的数据类型:(8大数据类型)

基本数据类型(原始数据类型)

Undefined

声明了但是未初始化(第一次赋值)

函数没有返回值

Null

未找到的(未定义的对象),一个对象

Boolean

Truefalse

Number

整数和小数都是数值类型

String

Javascript是基于对象的语言,因为他没有类的概念

所有的数据都是对象,

----对象    俄罗斯人  ,美国人 中国人 是类型

var str = 'hello world';

var str2 = 'nihao';

//alert(str.length);

//alert(str.concat(str2));

alert(str.toUpperCase()); //验证码 不区分大小写的时候

alert(str.substr(2,3)); //参数1,待截取的字符的索引,参数2,截取的长度

对象数据类型(引用数据类型)数组、对象和函数

1,数组

//获得数组

var arr = ['xiaobai',123];

var arr2 = new Array('xiaohei',456);

//引用数据类型(引用的是同一个地址)

var arr3 = arr2;

arr2.push('hello');

//alert(arr3);

var str = arr2.toString();

alert(typeof(str));

for ...in

//遍历数组的元素

var arr = ['zhangsan','lisi','wangwu','zaholiu'];

var i;

for(i in arr){

alert(arr[i]);

}

2,对象

  获得对象

(1)new Object()

(2)通过构造器(构造函数获得对象)

//通过构造函数(构造器)获得对象

function student(){

this.name="wanger";

}

var obj = new student();

alert(obj.name);

说明:构造器就是一个普通的函数,只是当我们通过new 函数名()来调用的时候,获得一个对象,这时候这个函数就称之为构造函数,构造函数内部通常使用this来代表当前的对象

(3)json  {}

var obj = new student();

alert(obj.name);

//通过json快捷语法来获得

var obj2 = {'name':'zhangsan'};

alert(obj2.name);

Javascript 内置对象

作业:比较 floor   ceil   round  区别

var num = 0.123;

alert(Math.ceil(num));  //1

alert(Math.round(num)); //1

alert(Math.floor(num)); //0

随机点名:

Date对象 数字时钟

函数对象

//函数是一个值,因为我们可以用一个变量来保存,通过变量(函数名)来找到这个函数

var f1 = function(){

alert('hello');

}

f1();

alert(typeof(f1));

Alert()

Window.alert();

函数作用域链:

从最低级向上一级查找的过程

函数的参数:

函数的参数在调用时和声明时,参数个数可以不一致,因为在函数内部有一个专门管理函数参数的对象,这个对象可以获得真实的参数

作业:求函数参数的和

function f2(n1,n2,n3,n4){

alert(arguments[1]);

}

f2(1,2,4,5);

confirm

<p id="p1">删除我吧</p>

<script type="text/javascript">

//alert(confirm('确认要删除吗'));

//获得用户点击哪个按钮(确认还是取消),确认返回true 取消返回false

if(confirm('确认要删除吗')){

document.getElementById("p1").innerHTML= '';

}

</script>

猜数字(留给你们丰富一下逻辑)(最多让用户猜5次)

alert(prompt('请输入数字',2));

//随机产生一个数字

//让用户输入的数字和随机产生的进行比较

//规定次数

var random = Math.random()*100;

var input = prompt('请输入数字',2);

if(input<random){

alert("你猜的数字太小了");

}else if(input>random){

alert("你猜的数字太大了");

}else if(input==random){

alert("恭喜你猜对了");

}

Eval() 函数会将函数的参数当作js的表达式来运行

例如eval‘1+2’)结果是3

input表单中,如果是text  password这种输入类型的文本框的话,size 属性规定用户可以输入的字符个数

如果是其他的属性的表单的话,size表示所占像素的大小

注意:

获得标签的内容 用innerHTML

获得表单的值  用value 

计算器

核心代码

/*

获得用户输入的数字 绑定onclick事件

开始运算

求结果

*/

var flag = true;

function getNum(num){

if(!flag){

document.getElementById('res').value = '';

flag = true;

}

document.getElementById('res').value += num;

}

function getRes(){

var num = document.getElementById('res').value;

num = eval(num);

document.getElementById('res').value = num;

flag = false;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值