WEB_JS学习笔记_基础

1、JS和JAVA对比

JS是基于对象(调用浏览器内置对象的方法),java是面向对象

JS只需解释就可以由浏览器执行, java需要先编译成字节码文件再执行

js是弱类型(数据类型之间任意转换),java是强引用

js和java一样区分大小写

2、一个完整的JavaScrip由以下几部分组成

核心:ECMAScript

文档对象模型:DOM  (内置两大内对象之一)

浏览器对象模型:BOM  (内置两大内对象之一)

3、JS和Html结合方式

方式一:放置<scrip>标签:

<script type="text/javascript">
    js code...
</script>

缺点:这段js code 只能在该页面使用

方式二:将js代码封装到一个文件中,使用script标签的src属性引入一个js文件

<script src="test.js" type="text/javascript"></script>

优点:方便维护,便于扩展

注意:浏览器加载页面从上到下,加载到哪则运行到哪

例如:若加载的js文件比较大,又相对耗时,则可放在body标签的最后面,js为单线程

4、JS的5种基本变量类型和引用类型(typeof 引用类型 为Object)

  string number boolean undefined null

typeof 用于判断 变量的数据类型 ,返回一个字符串

alert() -- 弹出一个警告框

5、js弱类型的转换

(1)显示转换,即使用全局函数进行转换

数字转字符串

        var num=100;
	var str = String(num);
	//String为全局函数 类似的还有Number  Boolean
	//num为任意类型数据,均可通过String转换成字符串
	alert(typeof str);
	alert(str);

字符串转数字

        //NaN 一个很特殊的数字,表示,不是数字。not a number    NaN == NaN --> false
	var str = "100abc";
	var num = Number(str);
	//alert(typeof num);
	alert(num);//结果为:NaN

数字转boolean,只有非0和非NaN其他都为true

	//100   true
 	//0	false
	//NaN  false
	var num=NaN;
	var boo = Boolean(num);
	alert(typeof boo);
	alert(boo);//false

字符串转boolean,只有""才为false,注意:" "里面有个空格也为true

	//abc		true
	//""		false
	var msg="";
	var boo = Boolean(msg);
	alert(typeof boo+" : "+boo);//boolean : false

undefined和null转换成boolean:都为false

(2)隐式转换:使用逻辑判断

	var msg="abc";
	if(msg){
		alert(msg);//注意:此处的msg仍为"abc",并没有赋值操作
	}

6、JS中的函数

定义方式一:

	/*
	格式:
		function  函数名(形式参数...)
		{
		执行语句;
		return 返回值;
		}
		函数是多条执行语句的封装体,只有被调用才会被运行。
		函数的执行,只要写了函数名后面跟一对小括号,该函数就会运行
		调用有参数的函数,但没有给其传值,函数一样可以运行
		调用没有参数的函数,给其传值,该函数也一样运行。

	*/
	function test(a,b,c){

		//alert(b+a+c);
		return a+b+c;

	};
var r = test(10,20,30);//60var r = test("hi","nihaoa",""hehe);//hinihaoahehe

定义方式二:动态函数

	/*
		定义动态函数,参数特点:最后一个为函数体,前面的都是形参

	通过JS的内置对象Function实现。
		例:
		var demo = new Function("x","y","alert(x+y);");
		demo(4,6);
		等同:
		function demo(x,y)
		{
		alert(x+y);
		}
		demo(4,6);
		不同的是,动态函数,参数以及函数体都可以通过参数进行传递,可以动态指定。

	*/

	var arg1="a";
	var arg2="b";
	var funbody="alert(a+b);";//这三个变量可从网络获取从而实现动态设置函数

	//var funtest= new Function("a","b","alert(a+b);");
	var funtest= new Function(arg1,arg2,funbody);

	funtest("hello"," word");//hello word

定义方式三:匿名函数

	/*
		格式:function(){...}
		例如:
		var demo = function(){...};
		demo();

		* 通常在定义事件属性的行为时较为常用。
	*/

/* 	function(a,b){
		return a+b;
	} */

	alert("内容 还没显示");

	// 给当前窗体加载完成以后事件添加监听,window为内置对象
	window.onload = function(){

		alert("窗体显示完了");
	};

  

时间: 2024-11-07 22:52:39

WEB_JS学习笔记_基础的相关文章

WEB_JS学习笔记_内置对象

1.数据封装对象 Object.Array.Boolean.Number.String Object Object是javascript中所有对象的父级对象,这意味着所有对象都继承于Object对象. 创建一个空对象: var object = {}; var obj = new Object(); 属性: toString(); Array的定义方式: /* 数组对象:Array 创建方式 new Array(); new Array(size); new Array(element0, el

Shader学习笔记_基础知识_分量

分量 矢量的分量名称:{x,y,z,w}表示顶点: {r,g,b,a}表示颜色:{s,t,p,q}表示纹理坐标. 每个分量用点号连接(例如v2.x(一个float变量),v3.rg(一个vec2变量)). 不同组的分量不能混合使用(例如v4.xgba不合法),但是顺序可以任意,可以重复(例如v3.yyxx(一个vec4变量)),但不能超过4个,因为编译器不知道转化成什么类型(例如v4.xyzwxy不合法). 矩阵的分量就是用下标表示,注意的是矩阵是以列优先的. mat4 m; m[1] = ve

hibernate学习笔记_基础配置

一.hibernate.cfg.xml: hbni2ddl.auto 二.搭建日志环境并配置显示DDL语句 我们使用slf接口,然后使用log4j的实现. 1.  首先引入log4j的jar包(log4j-1.2.14.jar), 2.  然后再引入slf4j实现LOG4J和适配器jar包(slf4j-log4j12-1.5.8.jar) 3.  最后创建log4j的配置文件(log4j.properties),并加以修改,只要保留 log4j.logger.org.hibernate.tool

01-Python学习笔记-基础语法

Python标识符 -d           在解析时显示调试信息 -O           生成优化代码 ( .pyo 文件 ) -S           启动时不引入查找Python路径的位置 -v            输出Python版本号 -X           从 1.6版本之后基于内建的异常(仅仅用于字符串)已过时. -c cmd     执行 Python 脚本,并将运行结果作为 cmd 字符串. file           在给定的python文件执行python脚本. P

大话设计模式学习笔记——面向对象基础

前言 好记性不如烂"笔头"系列--大话设计模式学习笔记 目录 面向对象基础 面向对象基础 什么是类与实例 一切事物皆为对象,即所有的东西老师对象,对象就是可以看到.感觉到.听到.触摸到.尝到.或闻到的东西.准确地说,对象是一个自包含的实体,用一组可识别的特性和行为来标识.面向对象编程,英文叫 Object-Oriented Programming,其实就是针对对象来进行编程的意思.类就是具有相同属性和功能的对象的抽象集合.实例就是一个真实的对象.比如我们属于'人'类,而个人就是'人'类

Java快速教程--vamei 学习笔记(基础篇)

链接:http://www.cnblogs.com/vamei/archive/2013/03/31/2991531.html java快速教程第1课 从HelloWorld到面向对象 学习网址:http://www.cnblogs.com/vamei/archive/2013/03/14/2958654.html java快速教程第2课 方法与数据成员 学习网址:http://www.cnblogs.com/vamei/archive/2013/03/25/2964430.html java快

十五、Android学习笔记_授权过程

1.需要申请App Key和App Secret.不同的开发平台有不同的接入方式,可以参考文档,然后将这两个值放进去. 2.通过OAuth类实现认证,它会自动跳转到认证界面,进行授权,成功之后需要处理回调接口. 3.在第二步调用回调接口时,它会返回用户的基本信息,比如用户id.此时需要将用户id信息保存起来,为后面登录做准备.回调接口的写法就为myapp://AuthorizeActivity,其中scheme全部为小写字母. <activity android:name="com.wei

九、Android学习笔记_ Android开发中使用软引用和弱引用防止内存溢出

在<Effective Java 2nd Edition>中,第6条"消除过期的对象引用"提到,虽然Java有 垃圾回收机制,但是只要是自己管理的内存,就应该警惕内存泄露的问题,例如的对象池.缓存中的过期对象都有可能引发内存泄露的问题.书中还提到可以用 WeakHashMap来作为缓存的容器可以有效解决这一问题.之前也确实遇到过类似问题,但是没有接触过"弱引用"相关的问题,于是查阅了一些资料. <Java 理论与实践: 用弱引用堵住内存泄漏>

C#学习笔记(基础知识回顾)之值类型与引用类型转换(装箱和拆箱)

一:值类型和引用类型的含义参考前一篇文章 C#学习笔记(基础知识回顾)之值类型和引用类型 1.1,C#数据类型分为在栈上分配内存的值类型和在托管堆上分配内存的引用类型.如果int只不过是栈上的一个4字节的值,该如何在它上面调用方法? 二:值类型转换为引用类型--装箱 2.1CLR对值类型进行装箱时:新分配托管堆内存,将值类型的实例字段拷贝到新分配的内存中,返回托管堆中新分配对象的地址.这个地址就是一个指向对象的引用. int i = 10; Object obj = i; 三:将引用类型转换为值