扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1、javascript是弱类型语言,定义变量时用var关键字(可选)且不需要也不能指定变量的类型,而java是强类型语言,定义任何变量时必须指定其类型,否则无法通过编译;
创新互联是一家集网站建设,留坝企业网站建设,留坝品牌网站建设,网站定制,留坝网站建设报价,网络营销,网络优化,留坝网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
2、javascript定义函数(或函数直接量)时要使用function关键字,java不需要;
下面举例说明:
1、定义变量的方法
javascript
var 变量名=初始值(可选);或
变量名=初始值(可选);如
var str="你好";
d=new Date();
java
变量修饰符(public、protected、private、static、final的有效组合) 变量类型 变量名=初始值(可选);如
public static final int Count=100;
2、定义函数的方法
javascript
function 函数名(参数列表(可选))
{
}
或
var(可选) 变量名=function(参数列表(可选))
{
}如
function f(a,b,c)
{
}
或
f2=function()
{
}
java
函数修饰符(public、protected、private、static、final、abstract的有效组合) 返回类型 函数名(参数列表(可选))
{
}(非abstract函数)
或
函数修饰符(public、protected、abstract的有效组合) 返回类型 函数名(参数列表(可选));如
public static void f(int a,String msg)
{
}或
public abstract int f2(float f,char c);
弱类型语言也是有类型的。或者说,任何计算机语言都是要有类型的。
基本数据类型有:number、string、boolean、undefined、null
引用类型有:object、function
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var num = 123;
console.log(typeof num);//number
var str = 'string';
console.log(typeof str);//string
var bool = true;
console.log(typeof bool);//boolean
var undef = undefined;
console.log(typeof undef);//undefined
var nul = null;
console.log(typeof nul);//object。因为null代表对象是空的情况。
自动类型转换
1
2
3
4
"10.0"%"5"//结果是0,string类型自动类型转换为number类型
!0//结果是true,number类型自动转换为boolean类型
"10.0" + 5//结果是"10.05",number类型自动转换为string类型
弱类型语言内存布局上一般是个Union结构,并且要包含一个类型字段,因为计算机底层还是要知道明确的类型信息。
因为包含类型信息,所以在代码的上下文中,可能会进行隐含的类型转换,比如把字符串转整型,整型转字符串,这样会稍损性能,并且可能会不符合程序本意。
弱类型语言都是脚本语言,在运行时确定值,所以跟编译不相关。
我的经验是弱类型在大项目开发上,还是不方便,需要在整个框架结构上做规范,否则多人合作开发比较麻烦。
弱类型使用简单,更灵活多变。对于程序员来讲这是个优点。
强类型语言,类型转换的时候非常严格,这跟语言特点有关系,
强类型语言是直接操纵内存,容易出内存越界和泄漏的问题。在类型的转换方面是很多约束,甚至强制转换也要很谨慎,一不小心就出大问题。
弱类型语言一般都会牺牲一些运行性能,不过简单好用,而且相对安全。
其实两种类型对应的语言本身其他的差异已经很大了,整个区别还是比较明显的。
JavaScript(简称“JS”)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。
javascript是一种解释类型的语言,跟c++、c语言这些不一样(先编译后执行),它是在程序运行过程中每行都要进行解释。javascript不仅是一种基于对象的脚本语言,它既可以创建对象,也可以直接使用已有的对象。
javascript是事件驱动性的脚本语言,比如用户在访问网页时,鼠标在点击,移动等操作。javascript是可以直接对这些时间做出相应,并不需要通过web服务器来对用户的行为做出相应。
javascript特点:
1、简单性
javascript是弱类型的变量类型,对于数据类型并没有严格要求,她的设计简单紧凑。
2、跨平台性
javascript是不需要依靠操作系统,只要浏览器支持,它编译后就可以直接带到任何支持浏览器脚本语言上就可以直接使用了,而javascript几乎已经获得所有浏览器的支持。
javascript是事件驱动性的脚本语言,比如用户在访问网页时,鼠标在点击,移动等操作。javascript是可以直接对这些时间做出相应,并不需要通过web服务器来对用户的行为做出相应。
弱类型语言 是相对强类型语言来说的
在强类型语言中,变量类型有多种,例如int char float boolean 等
不同的类型相互转换有时需要强制转换
而javascript只有一种类型var ,为变量赋值时会自动判断类型并进行转换
所以javascript是弱语言
就体现在变量定义类型VAR上了
javascript的变量是弱类型。
闭包:在类似C/C++这种的非函数式编程语言中,也可以定义函数指针并返回,但外层函数在执行结束后为内层函数定义的上下文信息会被销毁,而在闭包中,则保存了返回的函数,还包含返回函数的上下文信息。闭包有两个用途,一是方便实现嵌套的回调函数,二是隐藏对象的细节。
原型链:创建对象时,应该在构造函数内定义一般成员,而是其原型定义成员函数。JS中有两个特殊的对象:Object与Function,它们都是构造函数,用于生成对象。Object.prototype是所有对象的祖先,Function.prototype是所有函数的原型,包括构造函数。可以将JS的对象分为三类:用户创建对象,构造函数对象,原型对象。所有对象中都有一个__proto__属性,其指向此对象的原型。
构造函数对象有prototype,指向其原型对象,通过此构造函数创建对象时,新创建对象的__proto__属性将会指向构造函数的prototype属性。原型对象有一个constructor属性,指向它对应的构造函数。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Copyright © 2002-2023 www.kswjz.com 快上网建站品牌 QQ:244261566 版权所有 备案号:蜀ICP备19037934号
微信二维码
移动版官网