can-component.js
function createViewModel(initialData, hasDataBinding, bindingState) {

			if(bindingState && bindingState.isSettingOnViewModel === true) {
				// If we are setting a value like `x:from="y"`,
				// we need to make a variable scope.
				newScope = tagData.scope.addLetContext(initialData);
				return newScope._context;

			} else {
				// If we are setting the ViewModel itself, we
				// stick the value in an observable: `this:from="value"`.
				return vm = new SimpleObservable(initialData);
			}
		}
function createViewModel(initialData, hasDataBinding, bindingState) {

			if(bindingState && bindingState.isSettingOnViewModel === true) {
				// If we are setting a value like `x:from="y"`,
				// we need to make a variable scope.
				newScope = tagData.scope.addLetContext(initialData);
				return newScope._context;

			} else {
				// If we are setting the ViewModel itself, we
				// stick the value in an observable: `this:from="value"`.
				return vm = new SimpleObservable(initialData);
			}
		}
function createViewModel ( initialData , hasDataBinding , bindingState ) { if ( bindingState && bindingState . isSettingOnViewModel === true ) { // If we are setting a value like `x:from="y"`, // we need to make a variable scope. newScope = tagData . scope . addLetContext ( initialData ) ; return newScope . _context ; } else { // If we are setting the ViewModel itself, we // stick the value in an observable: `this:from="value"`. return vm = new SimpleObservable ( initialData ) ; } }
`createViewModel` is used to create the ViewModel that the bindings will operate on.
createViewModel is used to create the ViewModel that the bindings will operate on .